当前位置:文档之家› 数据库原理

数据库原理

《数据库原理》第一章、绪论1.四个基本概念的掌握:数据——描述事物的符号记录数据库——长期存储在计算机内的有组织,可共享的数据集合。

例如:SQLServer2000中默认的数据库master。

DBMS——位于用户与操作系统之间的一层数据管理软件。

例如:SQLServer2000,Access,Orecal 等。

数据库系统——数据库、DBMS、应用程序等有关软件、硬件及各类人员(数据库管理员和用户)。

例如:学生个人信息管理系统。

数据库系统的核心是数据库管理系统。

2.四者的关系,核心,理解P6图1.13.数据管理的三个阶段——人工管理、文件系统、数据库系统,了解每个阶段的特点4.数据库系统的特点——数据整体结构化;数据冗余度低,共享性高,易扩充;数据的物理独立性与逻辑独立性强(物理、逻辑独立性的概念,体现在那些地方);由DBMS统一管理控制的四个功能(P11四点)5.数据模型的组成要素——数据结构、数据操作、数据的完整性约束6.概念模型——实际上是现实世界到机器世界的一个中间层次(第一层抽象),表示方法——E-R图(能熟练掌握绘制方法)。

7.概念模型中的基本概念——实体、属性、码、域、实体型、实体集、联系(事物内部的联系、两个事物之间的联系【1:1,1:n,n:m】、多个事物之间的联系)P158.数据模型——层次、网状、关系(主流)9.关系模型中的概念——关系,元组,属性,码,域,分量,关系模式P2910.模式,外模式,内模式定义,有哪两种模式映像及其作用P31-P34书上习题回顾—— p.19-20 1.6.2和1.6.3(1、2题)第二章关系数据库1.关系模型的组成要素——关系数据结构(关系)、关系操作集合(选择、投影、连接、除、并、交、差等查询操作和增加、删除、修改操作,特别是某些关系操作的表达式)、关系完整性约束(后面具体介绍)2.基本概念——笛卡尔积、关系候选码、主码、主属性、非码属性、全码3.基本关系的性质——P45六点4.关系的完整性:实体完整性——规定关系中的所有主属性不能为空,而不仅是整体不能为空NULL的含义(不知道或者无意义的值)。

参照完整性——外码、参照关系、被参照关系(P54)外码取值规则:要么为空,要么等于对应参照关系的某个主码值。

用户定义完整性——反映某一具体应用所涉及的数据必须满足的语义要求。

5.关系代数传统的集合运算(并、差、交【相应的运算表达式,条件:关系R和关系S具有相同的目n,且相应的属性取自同一个域】、笛卡尔积【相应的运算表达式,结果集的特点】)专门的关系运算(选择、投影、连接(自然连接,等值连接)、除【条件】表达式)【基本运算:并、差、笛卡尔积、选择、投影,其他运算可以用基本运算来表达,增加这几种并不增加语言的能力,而是简化表达式】书上习题回顾—— P40 2.6.3综合题第三章关系数据库标准语言1、关系数据库标准语言SQLSQL语言——准确的中文含义:结构化查询语言。

会写数据定义、数据操作、数据控制的sql语句:a)DDL包括——定义、修改、删除表结构和相应约束;定义、删除视图;定义、删除索引。

例:创建基本表:Create Table Student (sno char(10) primary key(sno) ,sname varchar(20) not null,sage smallint,ssex char(2),sdept char(10))删除基本表:Drop Table student删除一列:Alter Table Student Drop column sage添加一列:Alter Table student Add phone char(16)修改一列属性:Alter Table student Alter column birth datetime修改一列列名称:sp_rename 'student.birth','bir'修改唯一性约束:Alter Table student Add Constraint unique_sname unique (sname)修改主键属性:Alter Table student Add Constraint PK_STUDENT primary key(sno)定义视图:Create View CS_Stu asSelect sno,sname,ssex,sdept From StudentWhere sdept = ‘CS’with check option删除视图:drop view v_student,v_teacher视图注意:视图的概念(从一个或几个基本表导出的表,是一个虚表,数据库中不存放视图对应的数据),作用(P125),特点(当修改基表数据时,由其引出的视图查询的数据也相应改变,并不需要重建视图获取更新后的结果。

不是所有的视图更新都能够唯一地有意义地转换成对相应基本表的更新。

)定义索引:Create clustered index stusname on student(sname desc)删除索引:Drop index stusname索引注意:索引的分类(聚集索引【索引项的顺序与表中记录的物理顺序一致的索引】与唯一索引【索引的每一个索引值只对应唯一的数据记录】P90),索引不是越多越好,建立和维护索引都要付出代价。

索引在数据库设计中哪个阶段创建?b)DML包括——数据查询(select)、数据更新(insert ;update;delete)数据查询:Select子句:单表:Select Sname from StudentSelect Distinct sdept From StudentSelect * From StudentSelect sno,sname,2003 - sage as birthday_Year From StudentWhere 子句:条件筛选比较运算符:<、<=、>、>=、=、<> ;确定范围:Between A and B、Not Between A and B;确定集合:IN、NOT IN;字符匹配:LIKE,NOT LIKE(不用通配符等价=);空值:IS NULL、IS NOT NULL;多重条件:AND、OR、NOT;转义符 escape ;通配符:%->匹配任意字符串、_—> 匹配任意一个字符from子句:列出将被查询的关系;方便关系名的引用多表:Select T.sno,sname,cno,gradeFrom Student as T,SC as SWhere T.sno = S.snoOrder By子句:结果集中元组的排列次序,ASC升序(缺省)、DESC降序Select sname From Student Where sdept = 'CS' Order By sage ASC子查询:嵌套在另一查询中的 Select-From-Where 表达式,允许多层嵌套,由内而外地进行分析,子查询的结果作为父查询的条件,子查询中不使用 Order By 子句。

单值比较(运算符:>、>=、=、<=、<、 <>)Select * From Student Where sage = ( Select sage From Student Where sno = '01001' )多值比较——子查询返回多行一列(运算符:In、All【<> all 等价于 not in】、any【= any 等价于 in】、Exists)SELECT Sno FROM SC WHERE Cno= ' C02 ' AND GRADE>=ALL (SELECT GRADE FROM SC WHERE Cno= ' C02 ')聚合函数:5个预定义聚合函数(count(),sum(),avg(),max(),min()),group by,having与where 的区别,对空值的处理Select count(sno) from students例:列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;select sno,avg(grade) from sc where grade<60 group by sno having count(cno)>=2数据更新:Insert——Insert Into Student ( sno, sname, sage)Values ( ‘01002’, ‘李四’, 26 )Insert Into Student Values ('01001', '张三',27, 'M', 'CS' )Insert Into SC Select sno,‘C05’,null From Student Where sdept = ‘CS’Update——Update Student Set sage = sage + 1Update SC Set Grade=0 WHERE 'CS'=(SELETE Sdept FROM Student WHERE Student.Sno = SC.Sno)Delete——Delete From Student Where sno = ‘01001’Delete From SC WHERE 'CS'=(SELECT Sdept FROM Student WHERE Student.Sno=SC.Sno)c)DCL语言包括——授权(grant)、收回权限(revoke)GRANT SELECT ON Customers TO Sales WITH GRANT OPTIONREVOKE SELECT ON customers FROM Sales CASCADE书上习题回顾——课件,上机操作题第四章关系数据理论1、关系规范化理论解决的问题——消除插入、删除异常及减少数据冗余(会根据关系模式推测出现的问题)2、基本概念——函数依赖,完全函数依赖,部分函数依赖,传递函数依赖、码、候选码、主码、主属性、非主属性、非码属性、全码、外码(P172 -174),1NF、2NF、3NF、BCNF的定义和不同范式之间的联系。

规范到不同范式可以解决的问题。

1NF——关系的每一个分量不可分2NF——每一个非主属性完全函数依赖于码(消除非主属性对码的部分函数依赖)3NF——消除非主属性对码的部分和传递函数依赖BCNF——消除主属性对码的部分和传递函数依赖4NF——消除非平凡且非函数依赖的多值依赖(了解)相互关系——4NF>BCNF>3NF>2NF>lNF3、数据依赖的公理系统属性集闭包的求法:例:已知关系模式R<U,F>,其中U={A,B,C,D,E};F={AB→C,B→D,C→E,EC→B,AC→B}。

相关主题