上海商学院数据库期末复习

上传人:仙*** 文档编号:101420921 上传时间:2022-06-05 格式:DOC 页数:9 大小:94.50KB
收藏 版权申诉 举报 下载
上海商学院数据库期末复习_第1页
第1页 / 共9页
上海商学院数据库期末复习_第2页
第2页 / 共9页
上海商学院数据库期末复习_第3页
第3页 / 共9页
资源描述:

《上海商学院数据库期末复习》由会员分享,可在线阅读,更多相关《上海商学院数据库期末复习(9页珍藏版)》请在装配图网上搜索。

1、-数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。数据库管理系统Database Management System,简称DBMS是位于用户与操作系统之间的一层数据库管理软件。数据库系统Database System,DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。数据库系统的构成由数据库、数据库管理系统及其开发工具、应用系统、数据库管理员和用户构成。文件系统管理数据的缺点 随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷:数据冗余。数据与应用的独立性差。

2、数据联系弱文件系统阶段的缺乏之处 共享性是有一定局限,当不同的应用程序使用具有局部一样的数据时,仍必须建立各自的文件,而不能共享一样的数据,造成数据的冗余度大,不能确保数据的一致性。数据库系统特点比照文件系统数据由DBMS统一管理与控制。数据的整体性。数据的共享性高,冗余少。数据的独立性高。数据的整体构造化。优点便于数据的集中管理,减少数据冗余,提高数据的利用率和一致性。可以大大提高应用开发的效率,减少开发人员的工作量。维护方便,可以减轻数据库系统管理人员维护系统的负担。数据库系统的三级模式构造外模式模式映象的用途保证数据的逻辑独立性。当模式改变时,数据库管理员修改有关的外模式,使外模式保持不

3、变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。模式内模式映象的用途保证数据的物理独立性。当数据库的存储构造改变了例如选用了另一种存储构造,数据库管理员修改模式内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。数据构造描述数据的组成对象以及对象之间的联系。两类对象与数据类型、内容、性质有关的对象。与数据之间联系有关的对象现实世界中的信息如何能够进入计算机现实世界系统分析信息世界数据库设计计算机世界事物及联系信息化概念模型数据化构造模型数据模型的两个层次概念模型信息模型,按用户的观点来对

4、数据和信息建模。概念模型不依赖计算机及DBMS。构造模型逻辑模型,按计算机系统的观点对数据建模,受到计算机平台、DBMS的限制,直接影响数据库的最终实现。主要包括网状模型、层次模型、关系模型等。通常人们按构造模型来区分不同的数据库,称之为数据模型。常用的三种数据模型1关系模型。非关系:2层次模型。3网状模型。数据构造:以根本层次联系为根本单位。根本层次联系:两个记录以及它们之间的一对多。包括一对一的联系概念模型中的根本概念(1) 实体Entity客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(2) 属性Attribute实体所具有的*一特性称为属性。一个实体可以由假设

5、干个属性来刻画。(3) 码Key唯一标识实体的属性集称为码,其中的属性称主属性。l 关系数据库关系的性质1) 同一属性的数据具有同质性。2) 同一关系中,属性名不能重复性。因为属性名具有标识作用。3) 关系中的列位置具有顺序无关性。4) 关系具有元组无冗余性。5) 关系中的元组位置具有顺序无关性。6) 关系中每一个分量都必须是不可分的数据项。关系操作的特点(1)关系操作语言操作一体化 具有数据定义、查询、更新和控制一体化的特点,既可以作为宿主语言嵌入到主语言中,又可以作为独立语言交互使用。(2) 关系操作的方式是一次一集合方式 其他系统的操作是一次一记录方式,而关系操作的方式则是一次一集合方式

6、。关系操作数据构造单一的特点,能够使其利用集合运算和关系标准化等数学理论进展优化和处理操作,但关系操作与其他系统配合时需要解决处理方式的矛盾。(3) 关系操作语言是高度非过程化的语言 具有强大的表达能力。用户使用关系语言时,只需要指出做什么,而不需要指出怎么做,数据存取路径的选择、数据操作方法的选择和优化都由DBMS自动完成。 关系的完整性具体应用1实体完整性假设属性A是根本关系R的主属性,则属性A的值不能为空值。 如:学生*,*,性别,出生日期中*不能为空。选修*,课程号,成绩*、课程号为主码,则两个属性都不能取空值。2参照完整性 关系间的引用 实体及实体间联系用关系来描述,存在关系与关系间

7、的引用。例: 学生实体、专业实体学生*,*,性别,专业号,年龄专业专业号,专业名v 学生关系引用了专业关系的主码专业号。学生关系中的专业号值必须是确实存在的专业的专业号,即专业关系中有该专业的记录。外码 例: 选修关系的* 与学生关系的主码*相对应。选修关系的课程号与课程关系的主码课程号相对应。*和课程号是选修关系的外码。学生关系和课程关系均为被参照关系。选修关系为参照关系 用户定义的完整性。例:课程(课程号,课程名,学分)。非主属性课程名也不能取空值。学分属性只能取值在06之间参照完整性规则 例: 选修*,课程号,成绩*和课程号可能的取值 :1选修关系中的主属性,不能取空值2只能取相应的被参

8、照关系中已经存在的主码值如何来实现上述的关系数据库完整性约束.1实体完整性:给每个关系定义主码。2参照完整性:建立关联。3用户自定义的完整性:定义有效性规则、应用程序控制。l 数据库设计数据库系统设计包括哪些内容.p175数据库系统设计的各个步骤的任务1需求分析的任务:p177 2概念构造设计p186 就是将需求分析得到的用户需求抽象为信息构造即概念模型的过程。3逻辑构造设计的任务:把概念构造设计阶段产生的系统根本E-R图转换为*种具体的DBMS所支持的数据模型相符合的逻辑构造。4物理构造设计:根据具体的DBMS的特点和应用处理的需要,将逻辑构造设计的关系模式进展物理存储安排,建立索引,形成数

9、据库的内模式。5数据库的实施:设计人员使用具体的关系数据库管理系统提供的数据定义语言DDL和其他的实用程序将数据库逻辑构造设计和物理构造设计严格地描述出来,在计算机上建立起实际数据库构造,然后装入数据、进展测试和试运行。6数据库的运行和维护:由于应用环境在不断的变化,数据库运行过程中物理存储也会不断的变化,因此对数据库设计进展评价、调整、修改等维护工作概念设计画E-R图逻辑设计转换为关系模型例题:概念设计假设工厂中有如下实体:产品产品编号,产品名,规格工人工人编号,*,性别,年龄,职称车间车间编号,车间名称,负责人上述实体中存在如下联系:一个车间可生产多种产品,一种产品可由多个车间生产;一个车

10、间可有多个工人,一个工人只能属于一个车间。画出E-R图,用下划线标明各实体的主码,并标明实体间的联系的类型1:n,m:n,1:1。例题:逻辑设计逻辑设计读者借书证号,*,单位图书书号,书名,位置,名名,地址, 借阅借书证号,书号,借书日期,还书日期外码:借书证号引用读者关系中的借书证号 ,书号引用图书关系中的书号.关系代数并运算差运算交运算选择投影连接学生选课库的关系模式为:学生*,*,性别,年龄,所在系;课程课程号,课程名,先行课;选课*,课程号,成绩.查询选修了课程名为数据库的学生的*和*。SELECT StuInfo.Sname, ScoreInfo.SID ,CourseInfo.am

11、eFROM StuInfo,ScoreInfo,CourseInfoWHERE CourseInfo.ame=高等数学 and StuInfo.SID= ScoreInfo.SID 查询计算机系的学生所选修的课程的课程号和课程名.SELECT StuInfo.Dept, ScoreInfo.CID ,CourseInfo.ameFROM StuInfo,ScoreInfo,CourseInfoWHERE StuInfo.Dept =计算机系 and StuInfo.SID= ScoreInfo.SID 没有选修课程号为C2课程的学生*。SELECT SID,CID FROM ScoreInfo

12、WHERE CID!= C2既选修C2课程,又选修C3课程的学生*和成绩。SELECT SID,CID,score FROM ScoreInfoWHERE CID= C2and cid=C3选修课程号为C2或C3课程的学生*。T-SQL语言创立表、修改表见表的管理实验数据输入、删除和修改查询(条件,排序,分组统计,联接)使用T-SQL命令在teachingData数据库中创立表SInfo表,SInfo表的表构造如下:列名数据类型长度备注SIDmyID设为主关键字SNamemyName1不能为空Se*char2其值只能为男或女,默认值为男,Birthdaysmalldatetime允许为空Dep

13、tmyDeptmajorvarchar30Classvarchar18允许为空IDCardNochar18不允许为空创立表create table SInfo(SID myID primary key,Sname myName1 not null,Se* char(2) default 男check(Se*=男or Se*=女),Birthday smalldatetime,Dept myDept,major varchar(30),Class varchar(18),IDCardNo char(18) not null)修改表修改表SInfo表的表构造,设置DCardNo值为唯一的。alte

14、r table SInfoadd unique(IDCardNo) 修改表SInfo的表构造,设置Major值只能为 信息管理、电子商务和计算机科学。数据输入、删除、修改将*门课成绩提高3分。课程号C0005UPDATE CourseInfo SET成绩=成绩+3 /score=score+3 WHERE CID =C0005 输入*位学生*门课的成绩。*100026,课程号C0002,成绩86INSERT INTO scoreInfo (SID, CID, score) VALUES (100026,C0002,86)删除*一门课的选课记录。课程号C0005DELETE FROM Cours

15、eInfo WHERE CID= C0005删除*个学生的选课记录。*100026DELETE FROM ScoreInfo WHERE SID=100026数据查询学生选课库的关系模式为:学生*,*,性别,年龄,所在系;课程课程号,课程名,先行课;选课*,课程号,成绩.用SQL语句表达以下要求:1) 查询*个学生的选课记录,包括课程号、成绩,并按课程号降序排序。*为0001026或*为王萍Select cid,score from scoreInfoWhere sid=0001026Order by cid desc2查询*个系的学生的选课情况,显示*、课程号、成绩,先按课程号升序,再按成绩

16、降序排序。计算机系SELECT SID, CID,Score FROM CourseInfo WHERE Dept= 计算机系Order by cid,score desc3查询每门课的平均分、最高分、选修人数并进一步筛选人数20,分数80。Select avg(score) as 平均分,ma*(score) as 最高分,count(sid) as 人数From scoreInfo group by ameHaving Score 80 and count(sid) =204查询选修课程名为数据分析的学生记录,包括*、*、所在系。SELECT StuInfo.Sname,dept,Cour

17、seInfo.ame,ScoreInfo.SIDFROM StuInfo,ScoreInfo,CourseInfoWHERE CourseInfo.ame=数据分析 and StuInfo.SID= ScoreInfo.SID视图视图与根本表的区别联系P158 视图是从一个或多个根本表或视图中导出的虚表。视图的用途视图的创立CREATE VIEW视图的修改修改视图定义: ALTER VIEW;修改视图记录INSERT 、UPDATE和DELETE视图的删除Drop View 学生选课库的关系模式为:学生*,*,性别,年龄,所在系;课程课程号,课程名,先行课;选课*,课程号,成绩.建立视图S1查

18、看管理系所有男同学的信息;CREATE VIEW S1(SID,Sname,Se*)AS SELECT *FROM stuinfo,courseinfo,scoreinfoWHERE stuinfo.sid=scoreinfo.sid and courseinfo.cid=scoreinfo.cid and Se*= 男 and Dept= 管理系 通过视图S1查询年龄在18-20周岁之间的男同学的信息.select *from S1where stuinfo.sid=scoreinfo.sid and courseinfo.cid=scoreinfo.cid and age between

19、18 and 20 and Se*=男l 数据库平安保护数据库平安性及控制方法数据库系统平安模型1用户标识与鉴定是系统提供的最外层平安保护措施。只有在DBMS成功注册了的人员才是该数据库的用户,才可以访问数据库。 2用户标识与鉴定解决了检查用户是否合法的问题,但是合法用户的存取权限不尽一样。数据平安性的核心问题是DBMS的存取控制机制,确保进入系统的用户只能进展合法的操作。3操作系统一级也有自己的保护措施。4数据最后还可以以加密的形式存储到数据库中。 SQL Server 2005平安体系构造:1客户机操作系统的平安性 2SQL Server的登录平安性3数据库的平安性4数据库对象的平安性SQ

20、L Server登录*和用户*登录效劳器的*称为登录*(Login) ,也称登录名;登录*是指能登录到SQL Server效劳器的*,属于效劳器的层面,本身并不能让用户访问效劳器中的数据库。如果登录效劳器的用户要访问数据库时必须拥有数据库用户*。两种登录*1标准SQL Server登录* 2经过映射的WINDOWS*用户账号数据库的访问权是通过映射数据库的用户和登录*之间的关系来实现。特殊数据库用户:(1) dbo用户_即数据库拥有者或数据库创立者,dbo在其所拥有的数据库中拥有所有的操作权限。dbo的身份可被重新分配给另一个用户,系统管理员Sa可以作为他所管理的任何数据库的dbo用户。(2)

21、 guest用户_如果guest用户在数据库被启用,则允许任意一个登录账号作为guest用户访问数据库,其中包括那些不是数据库用户的SQL Server效劳器登录*。数据库故障恢复的必要性及技术查询例题1查询*为06开头的学生的*、*、专业.SELECT SID,SNAME,Major FROM StuInfoWHERE SID LIKE 06%2查询所有没有考试成绩的学生的*sid和相应的课程号cidselect sid, cid from scoreinfo where score is null3通过查询表StuInfo求信息管理专业中共有多少男生.Select major as 专业,

22、count(sid) as 专业_男生数from StuInfo Where se*=男group by majorHaving major=信息管理4查询所有学生考试成绩在80分以上的课程的课程号、课程名、学年和学期。.SELECT ScoreInfo.CID,ame,schyear,termFROM CourseInfo,ScoreInfo WHERE CourseInfo.CID= ScoreInfo.CID AND Score805查询与王晓红教师职称一样教师的工号TID、*TName和职称Title。SELECT TID,TName, title FROM TchInfoWHERE

23、Title=(SELECT Title FROM TchInfoWHERE TName=王晓红) and tname!=王晓红6建立计算机学院选修了00000001号课程且成绩在60分以上的学生的视图。 CREATE VIEW Stu_Pass1 AS SELECT *,*,成绩 FROM StuCourse1 WHERE 成绩=607建立计算机学院选修了00000001号课程的学生视图StuCourse1,显示*、*和成绩 。CREATE VIEW StuCourse1(*,*,成绩)AS SELECT StuInfo.SID,Sname,ScoreFROM StuInfo,ScoreInf

24、oWHERE Dept= 计算机系 ANDStuInfo.SID=ScoreInfo.SID AND ScoreInfo.CID= 000000018修改视图Student_1为查看计算机学院学生的*、*、性别和专业。ALTER VIEW Student_1AS SELECT SID,sname,se*,MajorFROM StuInfoWHERE Dept= 计算机系9利用视图StuCourse1为计算机系中每位学生的高等数学成绩减少5分。Update StuCourse1Set 成绩=成绩-510从teachingData数据库中删除视图student_2。 Drop View stude

25、nt_2实验七数据库的完整性1. 用T-SQL语句将StuInfo表中的属性SID设置为PRIMARY KEY。ALTER TABLE StuInfoADD CONSTRAINT PK_sid PRIMARY KEY(SID)2. 用T-SQL语句将成绩表ScoreInfo中的SID和CID字段设置复合主键,并将该约束命名为PK_SC。ALTER TABLE ScoreInfoADD CONSTRAINT PK_SC PRIMARY KEY (SID,CID)3. 使用T-SQL语句在数据库TeachingData中建立学生信息表StuInfo和成绩表ScoreInfo之间的联系,设置Scor

26、eInfo表中的SID为外键,参照StuInfo表中的SID属性值。ALTER TABLE ScoreInfoADD CONSTRAINT FK_sid FOREIGN KEY(SID) REFERENCES StuInfo(SID)4. 在TeachingData数据库中,使用T-SQL命令为课程信息表CourseInfo中的课程名ame属性建立UNIQUE约束。ALTER TABLE CourseInfoADD UNIQUE(ame)5. 使用T-SQL命令为TeachingData数据库的成绩表ScoreInfo设置约束:要求成绩Score属性的取值在0100之间。ALTER TABLE ScoreInfoADD CONSTRAINT CK_score CHECK (Score=0 and Score=0 and c70(五)嵌套查询查询与*小红同学在同一个班同一个年级的学生*。SELECT sname FROM StuInfo WHERE (class in (select class FROM StuInfo where sname=*小红) and (grade in (select grade FROM StuInfo where sname=*小红)and sname*小红. z.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!