ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:31.80KB ,
资源ID:4315686      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4315686.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库系统概论知识点整理.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库系统概论知识点整理.docx

1、数据库系统概论知识点整理第一章:绪论数据库(DB):长期存储在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。数据库管理系统(DBMS):位于用户和操作系统间的数据管理系统的一层数据管理软件。用途:科学地组织和存储数据,高效地获取和维护数据。包括数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。数据库系统(DBS):在计算机系统中引入数据库后的系统,一般由数据库。数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。目

2、的:存储信息并支持用户检索和更新所需的信息。数据库系统的特点:数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。概念模型 实体,客观存在并可相互区别的事物称为实体。属性,实体所具有的某一特性称为属性。码,唯一标识实体的属性集称为码。域,是一组具有相同数据类型的值的集合。实体型,具有相同属性的实体必然具有的共同的特征和性质。实体集,同一类型实体的集合称为实体集。联系两个实体型之间的联系 一对一联系;一对多联系;多对多联系关系模型 关系,元组,属性,码,域,分量,关系模型关系数据模型的操纵与完整性约束 关系数据模型的操作主要包括查询,插入,删除和更新数据。这

3、些操作必须满足关系完整性约束条件。关系的完整性约束条件包括三大类:实体完整性,参照完整性和用户定义的完整性。数据库系统三级模式结构外模式,模式,内模式模式:(逻辑模式)数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。模式的地位:是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。模式定义的内容:数据的逻辑结构(数据项的名字、类型、取值范围等),数据之间的联系,数据有关的安全性、完整性要求外模式:(子模式/用户模式)数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据库和逻辑结构和

4、特征的描述,是数据库用户的数据视图,是与某一应用有关的系统的逻辑表示。一个数据库可以有多个外模式。外模式的地位:介于模式与应用之间模式与外模式的关系:一对多。外模式通常是模式的子集。一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求。对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。外模式与应用的关系:一对多。同一外模式也可以为某一用户的多个应用系统所使用但一个应用程序只能使用一个外模式内模式:存储模式或内视图)是数据物理结构和存储方式的描述,是数据在数据库内部实际存储的表示方式:记录的存储方式(顺序,B树,hash方法存储),索引的组

5、织方式,数据是否压缩存储,数据是否加密。数据存储记录结构的规定,一个数据库只有一个内模式三级模式的优点:(1)保证数据的独立性(内模式与模式分开物理独立;外模式与模式分开逻辑独立)(2)简化用户窗口 (3)有利于数据共享 (4)利于数据的安全保密(5)数据存储由DBMS管理(用户不用考虑存取路径等细节)二级映像功能:(1) 外模式/模式映像(应用可扩充性)定义外模式(局部逻辑结构)与模式(全局逻辑结构)之间的对应关系,映象定义通常包含在各自外模式的描述中,每一个外模式,数据库系统都有一个外模式模式映象。用途:保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不

6、变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。(2) 模式/内模式映像(空间利用率,存取效率)模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关。数据库中模式内模式映象是唯一的。该映象定义通常包含在模式描述中。用途:保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。优点:(1)保证了数据库外模式的稳定性。(2)从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则

7、应用程序一般不需要修改。(3)数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性? 为什么数据库系统具有数据与程序的独立性?1、数据与程序的逻辑独立性:当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变。从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。2、数据与程序的物理独立性:当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之

8、间错提供的二层影响保证了数据系统中的数据具有较高的逻辑独立性和物理独立性。数据库系统的组成 硬件平台及数据库,软件,人员第二章:关系数据库关系的完整性约束实体完整性和参照完整性:关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持。用户定义的完整性:应用领域需要遵循的约束条件,体现了具体领域中的语义约束。外码,主码,候选码的概念候选码:若关系中的某一属性组的职能唯一地标识一个元组,则称该属性组为候选码。主码:若一个关系有多个候选码,则选定期中一个为主码。外部码:设F是基本关系R的一个或一组属性。但不是关系R的码,如果F与基本关系S的主码K想对应,则称F是基本关系R的外部

9、码,简称外码。关系的3类完整性约束概念实体完整性:若属性(指一个或一组属性)A是基本关系R的主属性, A不能取空值。参照完整性:若属性(或属性组)F是基本关系R的外码,它是基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。用户定义的完整性:针对某一具体关系数据库的约束条件。反映某一具体应用所设计的数据必须满足的语义要求。关系操作的特点,关系代数中的各种运算关系操作的特点是集合操作方式,即操作的对象和结果是集合。关系代数1、并(RS)仍为n目关系,由属于R或属于S的元组组成。RS

10、= t|t ? Rt ?S 2、差(R S)仍为n目关系,由属于R而不属于S的所有元组组成。R -S = t|t?Rt?S 3、交(RS)仍为n目关系,由既属于R又属于S的元组组成。RS = t|t ? Rt ?S RS = R (R-S)4、笛卡尔积R: n目关系,k1个元组;S: m目关系,k2个元组;RS。9、选择:选择又称为限制(Restriction):对元组按照条件进行筛选。在关系R中选择满足给定条件的诸元组F(R) = t|t?RF(t)= 真。10、投影:投影运算符的含义:从R中选择出若干属性列组成新的关系A(R) = tA | t ?R A:R中的属性列投影操作主要是从列的角

11、度进行运算。但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)。11、连接:连接也称为连接:两张表中的元组有条件的串接。从两个关系的笛卡尔积中选取属性间满足一定条件的元组R S = | tr ? Rts ?StrAtsB 外连接:如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接。左外连接:如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)。右外连接:如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。12、除 :给定关

12、系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组;R中的Y与S 中的Y可以有不同的属性名,但必须出自相同的域集;R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在 X 属性列上的投影第三章:关系数据库标准语言SQL注意:SQL(Oracle除外)一般不提供修改视图定义和索引定义的操作,需要先删除再重建定义基本表:CREATE TABLE ( , , );列级完整性约束-涉及到该表的一个属性 NOT NULL :非空值约束 UNIQUE:唯一性(单值约束)约束 PRIMARY KEY:主码约束 DEFAULT :默认(缺省)约束 Check :核查约束,定义校验条件

13、NOT NULL :非空值约束 UNIQUE:唯一性(单值约束)约束 PRIMARY KEY:主码约束 DEFAULT :默认(缺省)约束 Check :核查约束,定义校验条件表级完整性约束-涉及到该表的一个或多个属性。 UNIQUE(属性列列表) :限定各列取值唯一 PRIMARY KEY (属性列列表) :指定主码 FOREIGN KEY (属性列列表) REFERENCES (属性列列表) Check() :检查约束 PRIMARY KEY与 UNIQUE的区别?例:建立“学生”表Student,学号是主码,姓名取值唯一 CREATE TABLE Student (Sno CHAR(9)

14、 PRIMARY KEY,/*主码*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20); 数据类型修改基本表:ALTER TABLE ADD 完整性约束 DROP | ALTER COLUMN ;例:向Student表增加“入学时间”列,其数据类型为日期型ALTER TABLE Student ADD S_entrance DATE;不论基本表中原来是否已有数据,新增加的列一律为空值将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数ALTER TABLE Student A

15、LTER COLUMN Sage INT;注:修改原有的列定义有可能会破坏已有数据 增加课程名称必须取唯一值的约束条件。ALTER TABLE Course ADD UNIQUE(Cname); 直接删除属性列:(新标准) 例: ALTER TABLE Student Drop Sage;删除基本表 :DROP TABLE RESTRICT| CASCADE;RESTRICT:(受限) 欲删除的基本表不能被其他表的约束所引用,如果存在依赖该表的对象(触发器,视图等),则此表不能被删除。CASCADE:(级联)在删除基本表的同时,相关的依赖对象一起删除。例:删除Student表 DROP TAB

16、LE Student CASCADE ;基本表定义被删除,数据被删除;表上建立的索引、视图、触发器等一般也将被删除 。删除索引 :DROP INDEX ;删除索引时,系统会从数据字典中删去有关该索引的描述。例: 删除Student表的Stusname索引:DROP INDEX Stusname2、数据查询:基本格式单表查询 选择表中的若干列 (投影)查询指定列 (相当于A(R),A= A1,A2,An ) 例;查询全体学生的学号与姓名SELECT Sno,SnameFROM Student;查询全部列:在SELECT关键字后面列出所有列名按用户指定顺序显示。 将指定为 *按关系模式中的属性顺序

17、显示。例:查询全体学生的详细记录SELECT Sno,Sname,Ssex,Sdept , SageFROM Student; 或 SELECT *FROM Student;P.S: SELECT子句的可以为:查询经过计算的值例:查全体学生的姓名及其出生年份SELECT Sname,2011-Sage /*假定当年的年份为2011年*/FROM Student;输出结果:Sname 2011-Sage李勇 1991刘晨 1992字符串常量、函数例:查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名SELECT Sname,Year of Birth: ,2004-Sage,ISL

18、OWER(Sdept)FROM Student;输出结果:Sname Year of Birth: 2004-Sage ISLOWER(Sdept)李勇 Year of Birth: 1984 cs刘晨 Year of Birth: 1985 is列别名SELECT Sname as NAME,Year of Birth: as BIRTH,2011-Sage as BIRTHDAY,LOWER(Sdept) as DEPARTMENTFROM Student;输出结果:NAME BIRTH BIRTHDAY DEPARTMENT- - - -李勇 Year of Birth: 1991 cs

19、刘晨 Year of Birth: 1992 is选择表中的若干元组(选择)消除重复性:指定DISTINCT关键词,去掉表中重复的行 SELECT DISTINCT Sno FROM SC;注意 DISTINCT短语的作用范围是所有目标列 错误的写法 SELECT DISTINCT Cno,DISTINCT Grade FROM SC;正确的写法 SELECT DISTINCT Cno,Grade FROM SC;SELECT 子句缺省情况是保留重复元组(ALL), 例:查询选修了课程的学生学号。SELECT Sno FROM SC;等价于:SELECT ALL Sno FROM SC;查询满

20、足条件的元组WHERE子句常用的查询条件(相当于F)比较大小使用比较运算符 或逻辑运算符NOT + 比较运算符例:查询计算机科学系全体学生的名单SELECT SnameFROM StudentWHERE Sdept=CS; 例:查询所有年龄在20岁以下的学生姓名及其年龄SELECT Sname,Sage FROM Student WHERE Sage =20确定范围 BETWEEN AND NOT BETWEEN AND 例;查询年龄在2023岁(包括20岁和23岁)之间的学生的姓名、系别和年龄SELECT Sname,Sdept,SageFROM StudentWHERE Sage BETW

21、EEN 20 AND 23;/Sage=20 and Sage=23例:查询年龄不在2023岁之间的学生姓名、系别和年龄SELECT Sname,Sdept,SageFROM StudentWHERE Sage NOT BETWEEN 20 AND 23;/Sage23确定集合IN , NOT IN 例:查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别SELECT Sname,SsexFROM StudentWHERE Sdept IN ( IS,MA,CS );例:查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别SELECT Sname,SsexFROM

22、 StudentWHERE Sdept NOT IN ( IS,MA,CS );自负匹配NOT LIKE ESCAPE 匹配串为固定字符串SELECT * SELECT *FROM Student 等价于: FROM Student WHERE Sno LIKE 匹配串为含通配符的字符串%:代表任意长度(可以是0)的字符串_:代表任意单个字符字符串本身就含有 % 或 _ 时,在% 或 _ 之前加上转义符“”要使用ESCAPE 将通配符转义为普通字符。如果 要作为一个普通字符,用连续两个 表示一个真正的。例:查询以DB_开头,且倒数第3个字符为 i的课程的详细情况。SELECT *FROM Co

23、urseWHERE Cname LIKE DB_%i_ _ ESCAPE ;涉及空值的查询 IS NULL 或 IS NOT NULL “IS” 不能用 “=” 代替例:查所有有成绩的学生学号和课程号SELECT Sno,CnoFROM SCWHERE Grade IS NOT NULL;多重条件查询:AND和 OR来联结多个查询条件,AND的优先级高于OR,可以用括号改变优先级,可用来实 现多种其他谓词。NOT INNOT BETWEEN AND 改写 例:查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别SELECT Sname,SsexFROM StudentWHE

24、RE Sdept IN ( IS,MA,CS )可改写为:SELECT Sname,SsexFROM StudentWHERE Sdept= IS OR Sdept= MA OR Sdept= CS ORDER BY子句:对查询结果排序 可以按一个或多个属性列排序:升序:ASC;降序:DESC;缺省值为升序。当排序列含空值时:空值最大ASC:排序列为空值的元组最后显示;DESC:排序列为空值的元组最先显示。例:查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列SELECT Sno,GradeFROM SCWHERE Cno= 3 ORDER BY Grade DESC;聚集函数:对

25、查询结果集中的某列进行计算或统计。计数COUNT(DISTINCT|ALL *) COUNT(DISTINCT|ALL )计算总和SUM(DISTINCT|ALL ) 计算平均值 AVG(DISTINCT|ALL )最大最小值MAX(DISTINCT|ALL ) MIN(DISTINCT|ALL )SELECT SUM(Ccredit)FROM SC, CourseWHER注:除Count(*),都要跳过空值;Where子句不能使用聚集函数。GROUP BY子句:对查询结果分组。用途细化聚集函数的作用对象未对查询结果分组,聚集函数将作用于整个查询结果对查询结果分组后,聚集函数将分别作用于每个组

26、使用GROUP BY 后:其SELECT子句的列名列表中只能出现分组属性和集函数。 如果分组后还要按照条件对这些组进行筛选,可使用having 短语指定筛选条件例: 查询选修了3门以上课程的学生学号SELECT SnoFROM SCGROUP BY SnoHAVING COUNT(*) 3; 例:查询有3门以上课程是90分以上学生的学号及(90分以上的)课程数?SELECT Sno, COUNT(*) FROM SCWhere Grade 90GROUP BY SnoHAVING COUNT(*) 3;HAVING短语与WHERE子句的区别:作用对象不同WHERE子句作用于基表或视图,从中选择

27、满足条件的元组HAVING短语作用于组,从中选择满足条件的组。*连接查询*p100页*嵌套查询*p104页 *重点*数据更新(1)插入数据插入元组INSERTINTO (,)VALUES ( , )功能:将新元组插入指定表中;新元组的属性列1的值为常量1,属性列2的值为常量2,。INTO子句:属性列的顺序可与表定义中的顺序不一致,但须指定列名;没有指定属性列,表示要插入的是一条完整的元组;指定部分属性列,未指定的属性列取空值,具有NOT NULL的属性列除外。VALUES子句:提供的值必须与INTO子句匹配,值的个数,值的类型。INSERTINTO Student (Sno,Sname,Sse

28、x,Sdept,Sage)例: 将学生张成民的信息插入到Student表中INSERTINTO StudentVALUES (, 张成民, 男,18,CS);INSERTINTO SC(Sno,Cno)VALUES (, 1 );RDBMS将在新插入记录的Grade列上自动地赋空值。或者:INSERTINTO SCVALUES (, 1 ,NULL);因为没有指出SC的属性名,在GRADE列上要明确给出空值插入子查询结果Insert Into (,)子查询(select等);(2)修改数据UPDATE SET =,=WHERE ;SET子句:指定修改方式,要修改的列,修改后取值:。WHERE子句:指定要修改的元组,缺省表示要修改表中的所有元组。功能:修改指定表中满足WHERE子句条件的元组。修改某一个元组的值UPDATE StudentSET Sage=22修改多个元组的值例:将所有学生的年龄增加1岁UPDATE StudentSET Sage= Sage+1;带子查询的修改语句 子查询须放在比较运算符之后例:将计算机科学系全体学生的成绩置零。UPDATE SCSET Grade=0WHERE CS=(SELETE SdeptFROM StudentWHERE Student.Sno = SC.Sno);(3)删除数据DELETEFROM WHERE

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1