您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > 《数据库原理》知识点总结
1数据库系统概述一、有关概念1.数据2.数据库(DB)3.数据库管理系统(DBMS)Access桌面DBMSVFPSQLServerOracle客户机/服务器型DBMSMySQLDB24.数据库系统(DBS)数据库(DB)数据库管理系统(DBMS)开发工具应用系统二、数据管理技术的发展1.数据管理的三个阶段(1)人工管理阶段(2)文件系统阶段(3)数据库系统阶段概念模型一、模型的三个世界1.现实世界2.信息世界:即根据需求分析画概念模型(即E-R图),E-R图与DBMS无关。3.机器世界:将E-R图转换为某一种数据模型,数据模型与DBMS相关。注意:信息世界又称概念模型,机器世界又称数据模型二、实体及属性1.实体:客观存在并可相互区别的事物。2.属性:3.关键词:能唯一标识每个实体又不含多余属性的属性组合。一个表的码可以有多个,但主码只能有一个。4.实体型:即二维表的结构5.实体集:即整个二维表三、实体间的联系:21.两实体集间实体之间的联系1:1联系、1:n联系、m:n联系2.同一实体集内实体之间的联系1:1联系、1:n联系、m:n联系数据模型一、层次模型:用树型结构表示实体之间的联系。二、网状模型:用图结构表示实体之间的联系。三、关系模型:用二维表表示实体之间的联系。1.重要术语:关系:一个关系就是一个二维表;元组:二维表的一行,即实体;关系模式:在实体型的基础上,注明主码。关系模型:指一个数据库中全部二维表结构的集合。数据库系统结构数据库系统的模式结构三级模式1.模式:是数据库中全体数据的逻辑结构和特征的描述。①模式只涉及数据库的结构;模式既不涉及应用程序,又不涉及数据库结构的存储;②外模式:是模式的一个子集,是与某一个应用程序有关的逻辑表示。特点:一个应用程序只能使用一个外模式,但同一个外模式可为多个应用程序使用。③内模式:描述数据库结构的存储,但不涉及物理记录。2.两级映象①外模式/模式映象:保证数据库的逻辑独立性;②模式/内模式映象:保证数据库的物理独立性;3.两级映象的意义①使数据库与应用系统完全分开,数据库改变时,应用系统不必改变。②数据的存取完全由DBMS管理,用户不必考虑存取路径。数据库管理系统1.DBMS的功能:负责对数据库进行统一的管理与控制。①数据定义:即定义数据库中各对象的结构②数据操纵:包括对数据库进行查询、插入、删除、修改等操作。③数据控制:包括安全性控制、完整性控制、并发控制、数据库恢复。2.DBMS的组成:DDL语言DML语言3DCL语言实用程序一、基本概念1.码:能唯一标识元组的属性集。2.候选码:一个属性集既能唯一标识元组,且又不含有多余属性,一个关系模式可以有多个候选码。3.主码:任选候选码中的一个。4.主属性:主码中包含的各个属性。5.非主属性:不包含在主码中的各个属性。6.外码:设F是关系R的一个属性,不是R的主码,但却是另一个关系S的主码,则称F是关系R的外码。关系的数学定义一、域1.定义:域是一组具有相同类型的值的集合。2.域的基数:域中所含数据的个数。二、笛卡尔积1.定义:给定一组域D1,D2,D3,则D1×D2×D3称为笛卡尔积。2.笛卡尔积D1×D2×D3对应一个二维表,所含元组的个数等于各个域的基数之积。三、关系1.定义:笛卡儿积的一部分元组称为关系。2.关系的目(或度):一个关系所含属性的个数。3.关系的性质任意两个元组不能完全相同,但属性名允许重复。四、关系的完整性1.实体完整性:指关系的所有主属性都不能取空值。注意:实体完整性不仅仅是主码整体不能取空值。2.参照完整性:指一个关系外码的取值必须是相关关系中主码的有效值或空值。五、专门的关系运算1.选择:从关系R中选择满足条件的元组。2.投影:从关系R中选择若干属性组成新的关系,并把新关系的重复元组去掉。3.条件连接:将两关系按一定条件连接成一个新关系说明:条件连接:两关系可以没有公共属性,若有公共属性,则新关系含有重复属性。4.自然连接:将两关系按公共属性连接成一个新的关系,并把新关系的重复属性去掉。说明:①自然连接:两关系至少有一个公共属性。②对于R的每个元组,S都从第一个元组开始判断,若两元组的公共属性值相同,则产生一个新元组添加到新关系中,最后把新关系中的重复属性去掉。关系数据库规范化理论函数依赖一、有关概念:1.函数依赖:4任给R(U),U为属性集,x、y为U的子集,如果对于x的每个值,y有唯一确定的值与之对应,则称x决定y,或y函数依赖于x。2.完全函数依赖:若x→y,且对于x的所有真子集x′,都有x′y,则称x完全决定y,或y完全函数依赖于x。结论:若x→y,且x只包含一个属性,则yxf。3.部分函数依赖:若x→y,且存在x的一个真子集x′,满足x′→y,则称x部分决定y,或y部分函数依赖于x。4.传递函数依赖:若x→y,y→z,但y∕x,则zxt二、平凡函数依赖与非平凡函数依赖设x→y,如果y是x的子集,则该依赖是平凡的。如果y中至少有一个属性不在x中,则该依赖是非平凡的。如果y中没有一个属性在x中,则该依赖为完全非平凡的。关系模式的规范化一、存在问题①数据冗余大;②修改麻烦;③插入异常:应该插入到DB中的数据插不进去。如:新开课程没有学生选修时,新开课程的课程号、课程名插不进去。④删除异常:不应该删除的数据被删掉。如选修某门课的学生毕业了,在删除学生信息的同时,把课程信息也删除掉。结论:一个好的关系模式应满足:①冗余应尽可能少;②应尽可能避免插入、删除异常;③消去关系中不合适的属性依赖关系。二、关系模式的规范化1.第一范式(1NF)①定义:若关系R的所有属性不能再分,则R∈1NF②存在问题③原因:存在非主属性对主码的部分依赖。④解决办法:消除非主属性对主码的部分依赖,将关系R一分为二,将满足完全依赖的属性集组成一个关系;将满足部分依赖的属性集组成另一个关系;2.第二范式(2NF)①定义:若关系R∈1NF,且它的每个非主属性都完全依赖于主码,则称R∈2NF。3.第三范式(3NF)①定义:若关系R∈2NF,且它的每个非主属性都不传递依赖于主码,则称R∈3NF。54.结论①若R∈1NF,且主码只含一个属性,则R一定为2NF。②若R∈2NF,且只有0~1个非主属性,则R一定为3NF。③3NF一般控制了数据冗余,一般避免了操作异常。④范式并非越高越好,适可而止。数据库设计一、数据库设计的步骤①需求分析:了解分析用户的需要、要求。②概念结构设计:根据需求分析的结果画概念模型(即E-R图)。③逻辑结构设计:将E-R图转换为某一种数据模型,并优化。④物理结构设计⑤数据库实施⑥数据库运行与恢复概念结构设计一、局部E-R图设计1.确定局部范围通常把系统涉及的各个部门或各个主要功能作为局部。2.确定实体与属性①属性是不能再分的数据项;②联系只发生在两实体之间;③原则上,能够作为属性,就不要作为实体。二、合并成总体E-R图1.消除各局部E-R图的冲突问题。2.按公共实体名合并,生成初步E-R图。3.消除冗余的属性和冗余的联系,生成总体E-R图。逻辑结构设计一、联系的属性和主码(1)联系的属性:必须包含相关联的各实体型的主码。(2)联系的主码1:1联系:可以是相关联的任一实体型的主码。1:n联系:必须是n方实体型的主码。m:n联系:必须是相关联的各实体型的主码之和。二、E-R图向关系模型的转换(1)把每个实体型转换为一个关系模式。(2)1:1联系:可以消化到相关联的任一实体型对应的关系模式中。(3)1:n联系:可以消化到n方实体名对应的关系模式中。(4)m:n联系:必须转换为一个关系模式,并且不能消化。(5)多元联系:不能消化6物理结构设计与数据库实施1.物理结构设计在逻辑设计的基础上,为每个关系模式选择合适的存储结构与存储方式。选择存储结构:即决定每个表的记录顺序。选择存取方式:即决定为哪些属性建立非聚集索引,以便加快查找速度。一般把经常查询的属性名指定为非聚集索引。2.数据库实施主要工作:定义数据库结构;组织数据入库;编写应用程序;数据库试运行;创建和使用数据库一、数据库文件1.一个数据库至少有一个主要数据文件和一个事务日志文件。如果数据库很大,可以使用一个主要数据文件、多个次要数据文件和多个事务日志文件。主数据文件(.mdf)次数据文件(.ndf)事务日志文件(.ldf):用来记录对数据库对象的所有更新操作。2.系统数据库Master数据库、Model数据库二、创建数据库1.打开数据库:Use数据库名2.删除数据库:Dropdatabase数据库名三、修改数据库1.分离和附加数据库2.备份和还原数据库3.数据的导入和导出创建和使用表数据类型1.字符型char(n)、varchar(n)、Text2.统一码字符型用于存放数据库的各类对象7每个英文字母、数字、汉字算1个字符,每个字符占2个字节。nchar(n)、nvarchar(n)、ntext3.整型4.实型①精确数值型②近似数值型5.贷币型6.日期时间型使用对象资源管理器创建和管理表一、创建表1.在一个表中只能定义一个标识字段。2.只有整型和精确数值型(decimal、numeric)字段才能指定为标识字段。3.把某个字段指定为公式字段。二、设置约束1.主键约束:每个表中只能有一列或一个组合被指定为主键,主键中的各个列不能为空值。2.外键约束:创建外键约束,就是定义两个表的永久关联,这两个表分别称为主键表、外键表。外键表中外键的值只能是主键表中主键的有效值或空值。3.唯一性约束:主键约束与唯一性约束的区别是:(1)在一个表中只能定义一个主键约束,但可定义多个唯一性约束;(2)指定为主键约束的列不能取空值,但指定为唯一性约束的列允许取空值。4.唯一性约束:用于限制输入到一列或多列的值的范围,保证数据库的数据完整性。5.默认值约束:T-SQL一、SQL语言的特点①SQL语言集数据定义、数据查询、数据操纵、数据控制的功能于一体。②所有的DBMS都支持SQL语言。T-SQL基础一、创建和使用数据库1.创建数据库createdatabase数据库名2.使用数据库8Use数据库名3.删除数据库dropdatabase数据库名二、定义表1.创建表createtable表名(属性名类型,…,属性名类型)①指定标识字段:identity(标识种子,标识增量)②指定公式字段:属性名as表达式2.删除表droptable表名,…,表名三、select语句select*/表达式表[into新表]from表名,…,表名[where条件][groupby属性名][having条件][orderby属性名][Asc/Desc]1.Select子句①*代表所有属性名②若一个属性名来自多个表,则属性名前须冠以表名,格式为:表名.属性名③设置表达式的别名:表达式As别名④限制查询结果的记录行数:all返回全部记录topn返回前面n行记录distinct表示取消重复行说明:topn只能放在关键字select的后面;all、distinct只能放在关键字select或聚合函数的后面。2.Where子句①in的格式:属性名in(常量,…,常量)②like的格式:属性名like通配字符串③在Where子句中指定连接:Where表名1.属性名=表名2.属性名3.Orderby子句orderby属性名1[Asc/Desc],属性名2[Asc/Desc]4.聚合函数95.Groupby子句使用Groupby子句时,Select子句只能使用分组项字段和聚合函数6.Having子句①Having子句只能跟在Groupby子句之后,且只能使用聚合函数和分组项字段。②where子句放在Groupby子句之前,甚至可以没有Groupby子句;且不能包含聚合函数。7.into子句功能:将查询结果保存到新的基表中。一、查询的分类单表查询连接查询嵌套查询五、数据操纵1.insert语句(1)每次插入一条记录insertinto表名[(属性名表)]values(表达式表)(2)插入子查询的结果insert
本文标题:《数据库原理》知识点总结
链接地址:https://www.777doc.com/doc-1398479 .html