时间:2020/4/26
前言:我们专业是大二下学期学的数据库,那时候学得云里来雾里去,知识点全靠硬记;最近做网站开发,里面涉及到了数据库,就专门拿大二下的书看了一下,结果越看越起劲,越看越入迷,《数据库系统概论(第4版)》(虽然现在有第5版)我奉为神书,数据库学习中必读的一本书;
虽然到近几年有发展出NOSQL和缓存数据库;但我认为这本书就是数据库的基础;
直接看SQL还有些地方不明白,不连贯,看了这本书,感觉像是打通了任督二脉;
绪论、关系数据库、关系数据库标准语言SQL、关系理论、数据库设计、数据库编程;
一、绪论
1数据库系统概述
数据:数据库中存储的基本对象;数据库:存放数据的仓库;
数据库管理系统:位于用户与操作系统之间的一层数据管理软件;功能有数据定义,数据组织、存储和管理,数据操作,事务管理和运行管理,数据库建立和管理;
数据库系统:计算机系统中引入数据库后的系统,由数据库、数据库管理系统、应用系统、数据库管理员构成;
数据管理技术的发展:人工管理阶段、文件系统阶段、数据库系统阶段
数据库系统的特点:数据结构化、共享性高、冗余低、易扩展、独立性高、统一管理和控制;
2数据模型:
数据库系统的核心和基础。三个组成要素:数据结构、数据操作、完整性约束条件;有两类不同层次的数据模型:概念模型、逻辑模型和物理模型;
概念模型 :信息模型,主要用于数据库设计。
基本概念:实体、属性、码、域、实体型、实体集、联系;
两个实体型的联系;
表现方法:实体-联系方法;
逻辑模型:层次、网状、关系、面向对象、对象关系等,主要用于数据库管理系统DBMS;
层次模型:常处理一对多的实体联系;常用于行政机构、家族关系;
网状模型:可处理多对多的实体联系;如学生选课系统;
关系模型:建立在严格的数学概念的基础上,是目前最重要的数据模型;
物理模型:对数据最底层的抽象
3数据库系统结构
数据库系统模式:type和value的概念;模式的概念;
数据库系统的三级模式结构:数据库-内模式(存储模式,唯一)-模式(逻辑模式,唯一)-外模式(子模式,数据视图,多个)-应用;
数据库的二级映像和数据独立性;模式/内模式映像(逻辑独立性)、外模式/模式映像(物理独立性);
4数据库系统的组成:硬件平台、软件、人员;
二、关系数据库
1关系数据结构
术语:关系(一张表)、元组(表的一行)、属性(表的一列)、码(唯一确定一个元组的属性)、域(属性的取值范围)、分量(元组中的一个属性值)、关系模式(对关系的描述,要求必须规范化)
2关系操作
两类关系操作:查询Query和增insert删delete改updata;
五种基本操作:选择select、投影project、连接join、除divide、并union、差except、笛卡尔积;交intersection;
3关系的完整性:实体完整性、参照完整性、用户定义完整性
三、关系数据库标准语言SQL
1SQL介绍:
structured query language即结构化查询语言,是关系数据库的标准语言;
支持关系数据库三级模式结构,内模式(存储文件)-模式(基本表)-外模式(视图)-SQL;
2数据的定义
给用户创建一个模式:create schema <模式名> authorization <用户名>
删除模式:drop scheme <模式名> cascade/restrict;
定义基本表:create table <表名>(<列名> <数据类型> [完整性约数条件]);
修改基本表:alter table <表名> [add <新列名> <数据类型> [完整性约数条件]] [drop <完整性约束名>] [alter colume <列名> <数据类型>];
删除基本表:drop table <表名> cascade/restrict;
建立索引:create unique index <索引名> on <表名> (<列名>);
删除索引:drop index <索引名>
3数据的查询:
单表查询、连接查询、嵌套查询、集合查询;
单表查询:select <目标列表> from <表名或视图> where <条件表达式>(and/or)order by <列名> desc/asc;
4数据的更新:
插入数据:insert into <表名>.(<属性列1>) values (<常量1>);
修改数据:updata <表名> set <列名>=<表达式> where <条件>;
删除数据:delect from <表名> where <条件>;
5视图
建立视图:create view <视图名> as <子查询> with check option;
删除视图:drop view <视图名> cascade;
查询视图:select <> from <> where <>;
更新视图:insert into <> values <>;delete from <> where <>;updata <> set <> where <>
四、关系数据理论
问题的提出:解决数据依赖(函数依赖,多值依赖)
规范化:1NF、2NF、3NF
五、数据库设计
数据库设计步骤:需求分析,概念结构设计(E-R图);逻辑结构设计、物理结构设计;数据库实施、数据库运行和维护;
六、数据库编程
1嵌入式SQL
2ODBC编程
标签:数据库,视图,----,关系数据库,wsdchong,模式,数据库系统,where From: https://blog.51cto.com/u_15847108/5797544