




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
例1定义一个学生-课程模式S-T CREATE SCHEMA “S-T” AUTHORIZATION WANG; 例2CREATE SCHEMA AUTHORIZATION WANG;隐含为用户名WANG,.如果没有指定,那么隐含为例3CREATE SCHEMA TEST AUTHORIZATION ZHANG CREATE TABLE TAB1(COL1 SMALLINT, COL2 INT,COL3 CHAR(20), COL4 NUMERIC(10,3),COL5 DECIMAL(5,2); 为用户ZHANG创建了一个模式TEST,并在其中定义了一个表TAB1。例4 DROP SCHEMA ZHANG CASCADE;删除模式ZHANG同时该模式中定义的表TAB1也被删除例5 建立“学生”表Student,学号是主码,姓名取值唯一。 CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) UNIQUE, Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20) ); 例6 建立一个“课程”表Course CREATE TABLE Course( Cno CHAR(4) PRIMARY KEY,Cname CHAR(40), Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) ); 例7 建立一个“学生选课”表SCCREATE TABLE SC(Sno CHAR(9), Cno CHAR(4), Grade SMALLINT,PRIMARY KEY (Sno,Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno),FOREIGN KEY (Cno) REFERENCES Course(Cno); 例8向Student表增加“入学时间”列,其数据类型为日期型。 ALTER TABLE Student ADD S_entrance DATE;不论基本表中原来是否已有数据,新增加的列一律为空值。 例9将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。 ALTER TABLE Student ALTER COLUMN Sage INT;例10增加课程名称必须取唯一值的约束条件。 ALTER TABLE Course ADD UNIQUE(Cname); 例11 删除Student表:DROP TABLE Student CASCADE 例12若表上建有视图,选择RESTRICT时表不能删除 CREATE VIEW IS_Student / AS /SELECT Sno,Sname,Sage/FROM Student/ WHERE Sdept=IS;DROP TABLE Student RESTRICT; -ERROR: cannot drop table Student because other objects depend on itDROP TABLE Student CASCADE; -NOTICE: drop cascades to view IS_StudentSELECT * FROM IS_Student;-ERROR: relation IS_Student does not exist 例13 CREATE CLUSTER INDEX Stusname ON Student(Sname);在Student表的Sname(姓名)列上建立一个聚簇索引 例14为学生-课程数据库中的Student,Course,SC三个表建 立索引。 CREATE UNIQUE INDEX Stusno ON Student(Sno);CREATE UNIQUE INDEX Coucno ON Course(Cno);CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC); v查询指定列例1 查询全体学生的学号与姓名。SELECT Sno,Sname / FROM Student; 例2 查询全体学生的姓名、学号、所在系。SELECT Sname,Sno,Sdept / FROM Student;例3 查询全体学生的详细记录。SELECT Sno,Sname,Ssex,Sage,Sdept /FROM Student; 或SELECT *FROM Student; 例4 查全体学生的姓名及其出生年份。SELECT Sname,2004-Sage /*假定当年的年份为2004年*/FROM Student; 例5 查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名SELECT Sname,Year of Birth: ,2004-Sage,ISLOWER(Sdept)/FROM Student;例6 查询选修了课程的学生学号。 SELECT Sno FROM SC;等价于:SELECT ALL Sno FROM SC;例7 查询计算机科学系全体学生的名单。 SELECT Sname/ FROM Student/WHERE Sdept=CS; 例8 查询所有年龄在20岁以下的学生姓名及其年龄。 SELECT Sname,Sage /FROM Student / WHERE Sage 20;例9 查询考试成绩有不及格的学生的学号。 SELECT DISTINCT Sno/FROM SC/ WHERE Grade60; 例10 查询年龄在2023岁(包括20岁和23岁)之间的学生的姓名、系别和年龄 SELECT Sname,Sdept,Sage/FROM Student/WHERE Sage BETWEEN 20 AND 23; 例11 查询年龄不在2023岁之间的学生姓名、系别和年龄SELECT Sname,Sdept,Sage/FROM Student/ WHERE Sage NOT BETWEEN 20 AND 23; 例12查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。SELECT Sname,Ssex/FROM Student/WHERE Sdept IN ( IS,MA,CS );例13查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。SELECT Sname,Ssex/FROM Student/ WHERE Sdept NOT IN ( IS,MA,CS );例14 查询学号为200215121的学生的详细情况。 SELECT * / FROM Student / WHERE Sno LIKE 200215121;等价于: SELECT * /FROM Student /WHERE Sno = 200215121 ;例15 查询所有姓刘学生的姓名、学号和性别。 SELECT Sname,Sno,Ssex/FROM Student/WHERE Sname LIKE 刘%;例16 查询姓欧阳且全名为三个汉字的学生的姓名。SELECT Sname/FROM Student/WHERE Sname LIKE 欧阳_;例17 查询名字中第2个字为阳字的学生的姓名和学号。SELECT Sname,Sno/FROM Student/WHERE Sname LIKE _阳%;例18 查询所有不姓刘的学生姓名。SELECT Sname,Sno,Ssex/FROM Student/WHERE Sname NOT LIKE 刘%;例19 查询DB_Design课程的课程号和学分。SELECT Cno,Ccredit/FROM Course/WHERE Cname LIKE DB_Design ESCAPE ;例20 查询以DB_开头,且倒数第3个字符为 i的课程的详细情况。SELECT */FROM Course/WHERE Cname LIKE DB_%i_ _ ESCAPE ;例21 某些学生选修课程后没有参加考试,所以有选课记录,但没 有考试成绩。查询缺少成绩的学生的学号和相应的课程号。SELECT Sno,Cno/FROM SC/WHERE Grade IS NULL例22 查所有有成绩的学生学号和课程号。SELECT Sno,Cno/FROM SC/WHERE Grade IS NOT NULL;例23 查询计算机系年龄在20岁以下的学生姓名。SELECT Sname/FROM Student/WHERE Sdept= CS AND Sage3; 例33 查询每个学生及其选修课程的情况SELECT Student.*,SC.*/FROM Student,SC/WHERE Student.Sno = SC.Sno;例34 对例33用自然连接完成。 SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade/ FROM Student,SC/WHERE Student.Sno = SC.Sno例35查询每一门课的间接先修课(即先修课的先修课)SELECT FIRST.Cno,SECOND.Cpno/FROM Course FIRST,Course SECOND/WHERE FIRST.Cpno = SECOND.Cno;例 36 改写例33 SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student LEFT OUT JOIN SC ON (Student.Sno=SC.Sno); 例37查询选修2号课程且成绩在90分以上的所有学生SELECT Student.Sno, Sname/FROM Student, SC/WHERE Student.Sno = SC.Sno AND / SC.Cno= 2 AND SC.Grade 90; 例38查询每个学生的学号、姓名、选修的课程名及成绩 SELECT Student.Sno,Sname,Cname,Grade/ FROM Student,SC,Course / WHERE Student.Sno = SC.Sno and SC.Cno = Course.Cno;例39 查询与“刘晨”在同一个系学习的学生。此查询要求可以分步来完成 确定“刘晨”所在系名 SELECT Sdept / FROM Student / WHERE Sname= 刘晨 ;结果为: CS 查找所有在IS系学习的学生。 SELECT Sno,Sname,Sdept / FROM Student / WHERE Sdept= CS ; SELECT S1.Sno,S1.Sname,S1.Sdept/FROM Student S1,Student S2/ WHERE S1.Sdept = S2.Sdept AND/S2.Sname = 刘晨;例40查询选修了课程名为“信息系统”的学生学号和姓名 SELECT Sno,Sname /FROM Student/ WHERE Sno IN (SELECT Sno /FROM SC / WHERE Cno IN(SELECT Cno FROM Course /WHERE Cname= 信息系统);用连接查询实现例40FROM Student,SC,Course/WHERE Student.Sno = SC.Sno AND/SC.Cno = Course.Cno AND/Course.Cname=信息系统;例:假设一个学生只可能在一个系学习,并且必须属于一个系,则在例39可以用 = 代替IN :SELECT Sno,Sname,Sdept/FROM Student/WHERE Sdept =(SELECT Sdept/FROM Student/WHERE Sname= 刘晨);例41找出每个学生超过他选修课程平均成绩的课程号。 SELECT Sno, Cno/FROM SC x/WHERE Grade =(SELECT AVG(Grade)/ FROM SC y/WHERE y.Sno=x.Sno);例42 查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄 SELECT Sname,Sage/FROM Student/WHERE Sage ANY (SELECT Sage/ FROM Student/WHERE Sdept= CS )/AND Sdept CS ; 用聚集函数实现例42 SELECT Sname,Sage/FROM Student/WHERE Sage / (SELECT MAX(Sage)/FROM Student/WHERE Sdept= CS )/AND Sdept CS ;例43 查询其他系中比计算机科学系所有学生年龄都小的学生姓名及年龄。方法一:用ALL谓词SELECT Sname,Sage/FROM Student/WHERE Sage ALL (SELECT Sage/FROM Student/WHERE Sdept= CS )/AND Sdept CS ;方法二:用聚集函数SELECT Sname,Sage/FROM Student/WHERE Sage (SELECT MIN(Sage)/FROM Student/WHERE Sdept= CS )/AND Sdept CS ;例44查询所有选修了1号课程的学生姓名。n用嵌套查询SELECT Sname/FROM Student/WHERE EXISTS (SELECT */ FROM SC/WHERE Sno=Student.Sno AND Cno= 1 );用连接运算SELECT Sname/FROM Student, SC/WHERE Student.Sno=SC.Sno AND SC.Cno= 1;例45 查询没有选修1号课程的学生姓名。 SELECT Sname/FROM Student/WHERE NOT EXISTS (SELECT */FROM SC/WHERE Sno = Student.Sno AND Cno=1);例46 查询选修了全部课程的学生姓名。SELECT Sname/FROM Student/WHERE NOT EXISTS(SELECT */FROM Course/WHERE NOT EXISTS(SELECT */ FROM SC/WHERE Sno= Student.Sno/AND Cno= Course.Cno);例47查询至少选修了学生200215122选修的全部课程的学生号码。n用NOT EXISTS谓词表示: SELECT DISTINCT Sno/FROM SC SCX/WHERE NOT EXISTS/ (SELECT */ FROM SC SCY/ WHERE SCY.Sno = 200215122 AND/NOT EXISTS/ (SELECT */ FROM SC SCZ/ WHERE SCZ.Sno=SCX.Sno AND/ SCZ.Cno=SCY.Cno);例48 查询计算机科学系的学生及年龄不大于19岁的学生。方法一:SELECT */FROM Student/WHERE Sdept= CS/UNION/SELECT */FROM Student/WHERE Sage=19;方法二:SELECT DISTINCT */FROM Student/WHERE Sdept= CS OR Sage=19;例49 查询选修了课程1或者选修了课程2的学生。SELECT Sno/FROM SC/WHERE Cno= 1 /UNION/SELECT Sno/FROM SC/WHERE Cno= 2 ;例50 查询计算机科学系的学生与年龄不大于19岁的学生的交集SELECT */FROM Student/WHERE Sdept=CS /INTERSECT/SELECT */FROM Student/WHERE Sage=19 例51 查询选修课程1的学生集合与选修课程2的学生集合的交集SELECT Sno/FROM SC/WHERE Cno= 1 /INTERSECT/SELECT Sno/FROM SC/WHERE Cno=2 ;SELECT Sno/FROM SC/WHERE Cno= 1 AND Sno IN/(SELECT Sno/FROM SC/WHERE Cno= 2 );例52 查询计算机科学系的学生与年龄不大于19岁的学生的差集。 SELECT */FROM Student/ WHERE Sdept=CS/EXCEPT/SELECT */ FROM Student/ WHERE Sage 19例1 将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。 INSERT/INTO Student (Sno,Sname,Ssex,Sdept,Sage)/ VALUES (200215128,陈冬,男,IS,18);例2 将学生张成民的信息插入到Student表中。INSERT/INTO Student/VALUES (200215126, 张成民, 男,18,CS); 例3 插入一条选课记录( 200215128,1 )。 INSERT/INTO SC(Sno,Cno)/ VALUES ( 200215128 , 1 ); INSERT/INTO SC/VALUES ( 200215128 , 1 ,NULL);例4 对每一个系,求学生的平均年龄,并把结果存入数据库。第一步:建表CREATE TABLE Dept_age/ (Sdept CHAR(15) / Avg_age SMALLINT); 第二步:插入数据INSERT/INTO Dept_age(Sdept,Avg_age)/SELECT Sdept,AVG(Sage)/FROM Student/GROUP BY Sdept;例5 将学生200215121的年龄改为22岁UPDATE Student/SET Sage=22/WHERE Sno= 200215121 ; 例6 将所有学生的年龄增加1岁UPDATE Student/SET Sage= Sage+1;例7 将计算机科学系全体学生的成绩置零。UPDATE SC/SET Grade=0/WHERE CS= (SELETE Sdept/FROM Student/WHERE Student.Sno = SC.Sno);例8 删除学号为200215128的学生记录。DELETE/FROM Student/WHERE Sno= 200215128 ;例9 删除所有的学生选课记录。DELETE/FROM SC;例10 删除计算机科学系所有学生的选课记录。DELETE/FROM SC/WHERE CS= (SELETE Sdept/FROM Student/WHERE Student.Sno=SC.Sno);例1 建立信息系学生的视图。CREATE VIEW IS_Student/AS /SELECT Sno,Sname,Sage/FROM Student/WHERE Sdept= IS;例2建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生 。CREATE VIEW IS_Student/AS /SELECT Sno,Sname,Sage/FROM Student/WHERE Sdept= IS/WITH CHECK OPTION;例3 建立信息系选修了1号课程的学生视图。CREATE VIEW IS_S1(Sno,Sname,Grade)/AS /SELECT Student.Sno,Sname,Grade/FROM Student,SC/WHERE Sdept= IS AND/Student.Sno=SC.Sno AND/SC.Cno= 1; 例4 建立信息系选修了1号课程且成绩在90分以上的学生的视图。CREATE VIEW IS_S2/AS/SELECT Sno,Sname,Grade/FROM IS_S1/WHERE Grade=90;例5 定义一个反映学生出生年份的视图。CREATE VIEW BT_S(Sno,Sname,Sbirth)/AS /SELECT Sno,Sname,2000-Sage/FROM Student;例6 将学生的学号及他的平均成绩定义为一个视图,假设SC表中“成绩”列Grade为数字型CREAT VIEW S_G(Sno,Gavg)/AS /SELECT Sno,AVG(Grade)/FROM SC/GROUP BY Sno;例7将Student表中所有女生记录定义为一个视图CREATE VIEW F_Student(F_Sno,name,sex,age,dept)/AS/SELECT */FROM Student/WHERE Ssex=女;缺点:修改基表Student的结构后,Student表与F_Student视图的映象关系被破坏,导致该视图不能正确工作。例8 删除视图BT_S: DROP VIEW BT_S;删除视图IS_S1:DROP VIEW IS_S1;拒绝执行,级联删除:DROP VIEW IS_S1 CASCADE; 例9 在信息系学生的视图中找出年龄小于20岁的学生。SELECT Sno,Sage/FROM IS_Student/WHERE Sage=90;S_G视图的子查询定义: CREATE VIEW S_G (Sno,Gavg)/AS /SELECT /Sno,AVG(Grade)/FROM /SC/GROUP BY Sno;例12 将信息系学生视图IS_Student中学号200215122的学生姓名改为“刘辰”。UPDATE/ IS_Student/SET Sname= 刘辰/WHERE / Sno= 200215122 ;转换后的语句:UPDATE /Student/SET Sname= 刘辰/WHERE/ Sno= 200215122 AND Sdept= IS;例13 向信息系学生视图IS_S中插入一个新的学生记录:200215129,赵新,20岁INSERT/INTO IS_Student/VALUES(95029,赵新,20);转换为对基本表的更新:INSERT/INTO / Student(Sno,Sname,Sage,Sdept)/VALUES(200215129 ,赵新,20,IS );例14删除信息系学生视图IS_Student中学号为200215129的记录 DELETE/FROM IS_Student/WHERE Sno= 200215129 ;转换为对基本表的更新:DELETE/FROM Student/WHERE Sno= 200215129 AND Sdept= IS;1.数据模型组成要素:数据结构,数据操作和完整性约束。2.最常用的数据模型:层次模型,网状模型,关系模型,面向对象模型,对象关系模型。3.关系模型中常用的关系操作:查询操作和插入,杀出,修改操作4.关系的三类完整:实体完整性,参照完整性和用户定义的完整性5.关系代数:传统的集合运算(并,差,交,笛卡尔积),专门的关系运算(选择,投影,连接,除运算)6.计算机系统的三类安全性问题:技术安全,管理安全,政策法律7.计算机安全标准:TCSECDoD可信计算机系统评估准则,CC8.数据库安全性控制:用户标识与鉴别,存取控制,自主存取控制(DAC)方法,授权与回收,数据库角色,强制存取控制(MAC)方法9.审计:用户级审计和系统级审计10.数据库的完整性是指数据的正确性和相容性11.数据库设计特点:“三分技术,七分管理,十二分基础数据”;结构数据设计和行为处理设计相结合12.数据库设计方法:计算机的基础知识,软件工程的处理和方法,程序设计的方法和技巧,数据库的基本知识,数据库设计知识,应用领用的知识,13.数据库的设计步骤:需求分析,概念设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护14.需求分析:需求分析的任务,需求分析的方法,数据字典15.概念结构设计:概念结构,概念结构设计的方法与步骤,数据抽象与局部试图设计,视图的集成16.逻辑结构设计:E-R图向关系模型的转换,数据模型的优化,设计用户子模式17.数据库物理设计内容:为关系模式选择存取方法,设计关系,索引等数据库文件的物理存储结构18.数据库的运行和维护:数据库的转储和恢复,数据可的安全性,完整性控制,数据库兴宁的监督,分析和改造,数据库的重组织与重构造19.嵌入式SQL:1 嵌入式SQL的处理过程.2 嵌入式SQL语句与主语言之间的通信.3 不使用游标的SQL语句.4 使用游标的SQL语句.5 动态SQL20. 存储过程.1 PL/SQL的块结构.2 变量常量的定义.3 控制结构.4 存储过程21.ODBC编程.1 数据库互连概述.2 ODBC工作原理概述 .3 ODBC API 基础 .4 ODBC的工作流程22.关系数据库系统的查询处理.1 查询处理步骤.2 实现查询操作的算法示例 23. 代数优化.1 关系代数表达式等价变换规则 .2 查询树的启发式优化24.物理优化.1 基于启发式规则的存取路径选择优化.2 基于代价的优化 25.数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术 10.4.1 数据转储 10.4.2 登记日志文件10.5 恢复策略10.5.1 事务故障的恢复10.5.2 系统故障的恢复10.5.3 介质故障的恢复10.6 具有检查点的恢复技术10.7 数据库镜像26.并发控制11.1 并发控制概述11.2 封锁11.3 活锁和死锁11.3.1 活锁11.3.2 死锁11.4 并发调度的可串行性.1 可串行化调度.2 冲突可串行化调度11.5 两段锁协议11.6 封锁的粒度11.6.1 多粒度封锁11.6.2 意向锁第1章 绪论1 试述数据、数据库、数据库系统、数据库管理系统的概念。答: ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 ( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。( 3 )数据库系统( DataBas 。 Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。 ( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。 3 试述文件系统与数据库系统的区别和联系。答:文件系统与数据库系统的区别是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。文件系统与数据库系统的联系是:文件系统与数据库系统都是计算机系统中管理数据的软件。解析文件系统是操作系统的重要组成部分;而 DBMS 是独立于操作系统的软件。但是 DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。5 试述数据库系统的特点。答:数据库系统的主要特点有: ( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。 ( 2 )数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。( 3 )数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。( 4 )数据由 DBMS 统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。6 数据库管理系统的主要功能有哪些?答:( l )数据库定义功能; ( 2 )数据存取功能; ( 3 )数据库运行管理; ( 4 )数据库的建立和维护功能。7 试述数据模型的概念、数据模型的作用和数据模型的三个要素。答:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。 ( l )数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。 ( 2 )数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。 ( 3 )数据的约束条件:是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。数据模型是数据库系统的基础。任何一个 DBMS 都以某一个数据模型为基础,或者说支持某一个数据模型。数据库系统中,模型有不同的层次。根据模型应用的不同目的,可以将模型分成两类或者说两个层次:一类是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简单清晰;另一类是数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义、操纵数据库中的数据,一般需要有严格的形式化定义和一组严格定义了语法和语义的语言,并有一些规定和限制,便于在机器上实现。8 试述概念模型的作用。答:概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。9 定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图( E 一 R 图)答:实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:惟一标识实体的属性集称为码。实体联系图( E 一 R 图):提供了表示实体型、属性和联系的方法: 实体型:用矩形表示,矩形框内写明实体名; 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来; 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型( 1 : 1 , 1 : n 或 m : n )。20 试述数据库系统三级模式结构,这种结构的优点是什么?答:数据库系统的三级模式结构由外模式、模式和内模式组成。(参见书上图 1 . 29 ) 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给 DBMs 管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式模式映像和模式内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。22 什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?答:数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 23 试述数据库系统的组成。答:数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。24 . DBA 的职责是什么?答:负责全面地管理和控制数据库系统。具体职责包括: 决定数据库的信息内容和结构; 决定数据库的存储结构和存取策略; 定义数据的安全性要求和完整性约束条件; 监督和控制数据库的使用和运行; 改进和重组数据库系统。 25 系统分析员、数据库设计人员、应用程序员的职责是什么?答系统分析员负责应用系统的需求分析和规范说明,系统分析员要和用户及 DBA 相结合,确定系统的硬件、软件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。1 试述关系模型的三个组成部分。答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。第3章 关系数据库标准语言SQL2 试述 sQL 的定义功能。 sQL 的数据定义功能包括定义表、定义视图和定义索引。 SQL 语言使用 cREATE TABLE 语句建立基本表, ALTER TABLE 语句修改基本表定义, DROP TABLE 语句删除基本表;使用 CREATE INDEX 语句建立索引, DROP INDEX 语句删除索引;使用 CREATE VIEW 语句建立视图, DROP VIEW 语句删除视图。4.针对上题中建立的 4 个表试用 sQL 语言完成第二章习题 5 中的查询。 ( l )求供应工程 Jl 零件的供应商号码 SNO ;SELECT DIST SNO FROM SPJ WHERE JNO=J1 ( 2 )求供应工程 Jl 零件 Pl 的供应商号码 SNO ; SELECT DIST SNO FROM SPJ WHERE JNO=J1 AND PNO=P1( 3 )求供应工程 Jl 零件为红色的供应商号码 SNO ; SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=红( 4 )求没有使用天津供应商生产的红色零件的工程号 JNO ;SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY=天津 AND COLOR=红 AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年德州平原县公开招聘省属公费师范毕业生(37名)模拟试卷完整答案详解
- 2025年聊城科技职业学院(筹)公开招聘工作人员(60人)模拟试卷及答案详解1套
- 衡水市人民医院儿童语言发育迟缓治疗考核
- 天津市人民医院造口护理技能考核
- 邢台市中医院病案复印服务考核
- 秦皇岛市中医院伪差识别与处理技能考核
- 2025广东省能源集团西北(甘肃)有限公司招聘18人模拟试卷及参考答案详解
- 邯郸市人民医院儿科急救设备使用考核
- 衡水市中医院循证医学在全科实践中的应用考核
- 石家庄市中医院临床路径管理与变异分析试题
- AI赋能职业教育传媒专业人才培养的实践路径探索
- 年产3万吨生物基PTT聚合项目环评资料环境影响
- 中药煎药室设备维护及操作流程
- 鸡蛋分拣培训课件
- 2023年北京市中考真题英语试卷及答案
- 2024年长期照护师职业技能竞赛理论考试题库(含答案)
- 人教版道德与法治六上9 知法守法 依法维权 (课件)
- 桂林旅游学院新生入馆教育学习通超星期末考试答案章节答案2024年
- GB/T 19077-2024粒度分析激光衍射法
- 下肢静脉血栓的预防-踝泵运动指导课件
- 手机租赁合同模板
评论
0/150
提交评论