大学数据库全面知识点资料整理_第1页
大学数据库全面知识点资料整理_第2页
大学数据库全面知识点资料整理_第3页
大学数据库全面知识点资料整理_第4页
大学数据库全面知识点资料整理_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 1 章 绪论 1 .数据库管理系统是数据库系统的一个重要组成部分,它的功能包括数据定义功能、数据 操纵功能、数据库的运行管理、数据库的建立和维护功能。 2 .数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统 (及其开发工具) 、应用系统、数据库管理员构成。 3 .数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶 段:人工管理阶段,文件系统阶段和数据库系统阶段。 4 .数据库具有数据结构化、最小的冗余度、较高的数据独立性等特点。 5 .DBMS 还必须 提供数据的安全性保护、数据的完整性检查、并发控制、数据库恢复等数据控制功能。 6 .数据库管理系统的主要功能有哪些? (填空题) 数据库定义功能; 数据存取功能; 数据库运行管理; 数据库的建立和维护 功能。 7.三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理 独立性。 (问答题) 8 .试述概念模型的作用。 (填空题) 概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模, 是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也 是数据库设计人员和用户之间进行交流的语言。 9 .根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层 次。第一类是概念模型,第二类是 数据模型。 (问答题) 10 .定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图 (E-R 图) (填空题) 实体:客观存在并可以相互区分的事物叫实体。 实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和 刻画同类实体称为实体型。 实体集:同型实体的集合称为实体集。 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。 码:唯一标识实体的属性集称为码。 实体联系图:E-R 图提供了表示实体型、属性和联系的方法: 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在 无向边旁标上联系的类型(1 : 1,1 : n 或 m : n) 。 11 .数据模型的三要素是指数据结构,数据操作,完整性约束。实际数据库系统中所支持 的主要数据模型是关系模型,层次模型,网状模型。 13 .数据模型中的数据结构是对数据系统的静态特征描述,包括数据结构和数据间联系的 描述, 数据操作是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作 的涵义、操作符、运算规则及其语言等。 (问答题) 14 .定义并解释以下术语:DDL、DML (填空题) DDL:数据定义语言。用来定义数据库模式、外模式、内模式的语言。 DML:数据操纵语言。 用来对数据库中的数据进行查询、插入、删除和修改的语句。 15 .关系模型是目前最常用也是最重要的一种数据模型。采用该模型作为数据的组织方式 的数据库系统称为关系数据库系统。 (问答题) 16 .关系的完整性约束条件包括三大类:实体完整性、 参照完整性和用户定义的完整性。 (问答题) 17 .什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性? 为什么数据库系 统具有数据与程序的独立性? (填空题) 数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数 据类型等) ,由数据库管理员对各个外模式模式的映象作相应改变,可以使外模式保持不 变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的 逻辑独立性,简称数据的逻辑独立性。 数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式内模式 映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的 物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映象保 证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 关系操作的特点关系操作的特点:集合方式,操作对象和结果都是关系元组的集合 非关系操作的特点非关系操作的特点:层次/网状,以记录为操作单位 2 .关系数据模型中,二维表的列称为属性,二维表的行称为记录或元组。 3 .用户选作元组标识的一个候选码为主码,其属性不能取空值。 (问答题) Chapter 1 数据Data:描述事物的符号记录称为数据。 信息(information):数据所表示的含义称为信息。 数据库:所谓数据库是长期存储在计算机内的、有组织的、可共享的数据集合。 数据库(DB)是各种信息系统(Information System) 的核心。 数据库特点:数据库中的数据具有较小的冗余度、较高的数据独立性和易扩展性,并可为 各种用户共享。 即数据及结构相对于应用程序具有独立性 数据库管理系统 Database Management System(DBMS):DBMS 是对数据库建立、操纵、维护 的系统软件。 主要功能:1、数据定义功能;2、数据操纵功能;3、数据库的运行管理;4、数据库的建 立维护。 常见的数据库管理系统 (DBMS) 大型 DBMS:ORACLE SQL-SERVER DB2 SYBASE 中型 DBMS: MYSQL, INFORMIX, INTERBASE 小型(桌面)DBMS: ACCESS, FOXPRO, SQL-ANYWHERE 数据库系统Database System(DBS):在计算机系统中引入数据库后的系统, 通常由: 数据库 DB, 操作系统 OS,数据库管理系统 DBMS,开发工具 SDK,应用系统 APP ,管理员 DBA ,用户 USER 计算机数据管理经历阶段:1、人工管理阶段 ;2、文件系统阶段 ;3、数据库系统阶段 数据库系统管理的特点: 1.数据结构化(数据库的文件系统的根本区别) 2.数据独立性高(数据结构变,程序不须变) 3.数据共享性高,冗余度低,易扩充 4.数据由 DBMS 统一管理和控制 ,并使数据管理具有: 数据的安全性(security)保护(数据不被非法访问) 数据完整性(Integrity)检查(数据的正确性有效性相容性) 并发控制(Concurrency)控制 数据恢复(Recovery) 数据模型是对现实世界数据特征的抽象。 数据模型的三要素 : 1 数据结构:对实体类型和实体间联系的表达和实现。 2 数据操作:允许执行的操作。主要:检索和更新 3 数据约束条件:完整性规则的集合。 完整性规则:数据及其联系所具有的制约和依存规则,以保证数据的正确、有效和相容。 数据的完整性:指数据的正确性、有效性和相容性。 概念模型:计算机数据处理的第一层抽象,反映人对客观事物的认识。 概念模型的表示方法:实体-联系图(E-R 图) 用矩形表示实体、用椭圆表示属性、用菱形表示联系。 属性和实体间、实体和联系间用线段连接 联系线标注联系类型(1,n), 如果联系有属性,也要标注 常见的数据模型有四种(按发展时间为序): 层次模型、网状模型、关系模型、对象模型 用表格(称为关系) 表示实体以及实体间联系的数据模型叫关系模型。 关系(Relation):一个二维表格; 元组(Tuple) :表中的一行即为一个元组; 属性(Attribute):表中的一列即为一个属性; 码(key):表中某属性组,可唯一确定任一元组; 域(Domain):属性的取值范围; 分量:元组中的一个属性值; 关系模式:对关系的描述,表述为:关系名(属性 1,属性 2,.,属性 n) 例:学生数据库的关系模式:学生(学号,姓名,性别,专业,入学时间) 数据库模式(Schema): 数据库中全体数据的结构和特征的描述称为数据库模式。 数据库系统三级模式结构:模式、外模式、存储模式三级模式的概念。 三级模式之间有两级映象:外模式/模式映象、模式/内模式映象 外模式(Sub-Schema)(用户模式):用户的数据视图、是数据的局部逻辑结构,模式的子集 模式(Schema)(概念模式):所有用户的公共数据视图;是数据库中全体数据的全局逻辑 结构和特性的描述。 内模式(Storage Schema)(存贮模式):又称存储模式,是数据的物理结构及存储方式。 数据的逻辑独立性:当模式改变时,修改外模式/模式映象,使外模式保持不变,从而应用 程序可以保持不变。 物理独立性:存储结构改变时,修改模式/内模式映象,使模式保持不变,从而应用程序可 以保持不变。 数据库系统外部的体系结构:单用户结构、主从式结构、分布式结构、客户/服务器结构、 浏览器/应用服务器/数据库服务器结构。 Chapter 2 关系模式是对关系的描述:关系的结构(属性构成、属性来自的域、属性与域之间的映象 关系) ,完整性约束条件,属性间的数据依赖关系集合 关系模式可以形式化地表示为:R(U,D,dom,F) R:关系名;U:组成该关系的属性名集合;D:属性组 U 中属性所来自的域; dom:属性向域的映象集合;F:属性间的数据依赖关系集合 关系模式通常可以简记为 R (A1,A2,An)。A1,A2,An:属性名 数据完整性:数据的正确性、有效性和相容性。 关系模型中三类完整性约束:实体完整性、参照完整性、用户定义的完整性 实体完整性规则:若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值 参照完整性规则:若属性(或属性组)F 是关系 R 的外码。它与关系 S 的主码 Ks 相对应 (关系 R 和 S 可是一个关系) ,则对于 R 中每个元组在 F 上的值必须为:或者取空值(F 的 每个属性值均为空值)或者等于 S 中某个元组的主码值。 用户定义的完整性 例:课程(课程号,课程名,学分) “课程号”主属性必须取唯一值;非主属性“课程名”也不能取空值;“学分”属性只能 取值1,2,3,4 关系数据库语言: 实现关系操作(查询,插改删)的语言 关系代数语言:一种抽象的查询语言,用对关系的运算来表达查询(ISBL) 关系演算语言:用谓词来表达查询要求 元组关系演算语言:谓词变元的基本对象是元组变量(APLHA ) 域关系演算语言 :谓词变元的基本对象是域变量(QBE) 具有关系代数和关系演算双重特点的语言:SQL(Structured Query Language) 关系代数运算的三个要素:运算对象,运算结果,运算符 【运算对象和运算结果的操作对象都是:关系( 元组的集合) 】 传统的集合运算:并、差、交、广义笛卡尔积 专门的关系运算:选择、投影、连接、除 并:RS = t|tRtS 差:R -S = t|tRtS 交:RS = t|tRtS 笛卡尔积:RS = |R S srt t r t s t 选择(Selection):在关系 R 中选择满足给定条件的诸元组。从行的角度进行的运算。 F:选择条件,是一个逻辑表达式 )(|)(真tFRttR F 例 1 查询信息系(IS 系)全体学生 )( Student ISSdept 投影:从 R 中选择出若干属性列组成新的关系,从列的角度进行运算 A:R 中的属性列| )(RtAtR A 注意:但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行) 例 3 查询学生的姓名和所在系。 即求 Student 关系学生姓名和所在系两个属性上的投 影 )( , Student sdeptsname 查询没有选过课的学号:)()(SCStudent snosno 查询没有不及格的学号:)()( 60 SCStudent Gradesnosno 连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组 |BtAtStRtttSR srsrsr BA A 和 B:分别为 R 和 S 上的属性组;:比较运算符 例,查询没有选过课的学号,姓名。 R1=R2= )()(SCStudent snosno )1( , RStudent snamesno 象集(Image Set) ,关系 R(X , Z), X, Z 是属性组,x 是 X 上的取值,定义 x 在 R 中的象 集为 Zx = tZ | tRtX= x (从 R 中选出在 X 上取值为 x 的元组,去掉 X 上的分量,只留 Z 上的分量) SNO=95001 在 R 中的象集:Z95001 =1,2,3 , SNO=95002 在 R 中的象集:Z95002 =2, 3 , SNO=95003 在 R 中的象集:Z95003 =1,2 , 除运算:给定关系 R (X,Y) 和 S (Y,Z),其中 X,Y,Z 为属性组。 R 与 S 的除运算得到一个新的关系 P(X), P 是 R 中满足下列条件的元组在 X 属性列上的投影: 元组在 X 上分量值 x 的象集 Yx 包含 S 在 Y 上投影的集合。 RS = X |RYx:x 在 R 中的象集,x = X r t r t)( XY YS r t 例 7 查询至少选修 1 号课程和 3 号课程的学生号码 首先建立一个临时关系 K:)( 31 SC cnocnocno 然后求:KSC cnosno )( , 例 8 查询选修了 2 号课程的学生的学号。 例 9 查询至少选修了一门其直接先行课为 5 号课程的课程的学生姓名。 例 10 查询选修了全部课程的学生号码和姓名。 例 11查未被选修的课号 例 12查询选修了 95002 所选全部课程的学生号码 图书管理数据库有关系模式: 图书(书号,书名,价格,作者) 读者(读者号,姓名,性别,年龄) 借阅(读者号,书号,借日期,还日期,罚款金额) 用关系代数查询: 1 查询价格大于 50 的书名和作者名 2 查询(一次)罚款金额20 元的读者名 3 查询被年龄大于 60 的读者借过的书名和作者名 4 查询看了所有书的读者名 5 查询看了张三所看过的所有书的读者名 6 查询没有借过书的读者姓名 元组关系演算语言 ALPHA 检索语句:GET 更新语句:PUT,HOLD,UPDATE,DELETE,DROP 格式GET 工作空间名 (表达式 1) 例 1 查询所有被选修的课程号码。 GET W (SC.Cno) 例 2 查询所有学生的数据。 GET W (Student) 格式 GET 工作空间名(表达式 1):操作条件 例 3查询信息系(IS) 年龄小于 20 岁的学号和年龄。 GET W (Student.Sno,Student.Sage): Student.Sdept=ISstudent.Sage ADD 完整性约束 DROP MODIFY ; :要修改的基本表 ADD 子句:增加新列和新的完整性约束条件 DROP 子句:删除指定的完整性约束条件 MODIFY 子句:用于修改列名和数据类型 例 2 向 Student 表增加“入学时间”列,其数据类型为日期型。 ALTER TABLE Student ADD Scome DATE; 删除属性列例:ALTER TABLE Student Drop Scome; 例 3 将年龄的数据类型改为半字长整数。 ALTER TABLE Student MODIFY Sage SMALLINT; 例 6 为 Student 的 sname 列建立索引。 CREATE INDEX StuName ON Student(Sname); 例 6 为 Course 的 Cname 列建立唯一值索引。 CREATE UNIQUE INDEX CouName ON Course(Cname); 在 Student 表的 Sname(姓名)列上建立一个聚簇索引,而且 Student 表中的记录将按照 Sname 值的升序存放。CREATE CLUSTER INDEX Stusname ON Student(Sname); DROP INDEX Stusname; 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 例 5 查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。 SELECT Sname,Year of Birth: ,2012 Sage,ISLOWER(Sdept) FROM Student; SELECT DISTINCT Sno FROM SC; 例 17 查询名字中第 2 个字为“阳“字的学生的姓名和学号。 SELECT Sname,Sno FROM Student WHERE Sname LIKE _阳%; 例 19 查询 DB_Design 课程的课程号和学分。 SELECT Cno,Ccredit FROM Course WHERE Cname LIKE DB_Design ESCAPE SELECT Sno,Cno FROM SC WHERE Grade IS NOT NULL; 例 32 查询每个学生及其选修课程的情况。 用 WHERE 子句指定连接条件: SELECT * FROM Student,SC WHERE Student.Sno = SC.Sno; 或,用 FROM 子句指定连接条件: SELECT * FROM Student JOIN SC ON Student.Sno=SC.Sno; 自身连接 例 34 查询每一门课的先行课名 SELECT First.Cname 课名, Second.Cname 先行课名 FROM Course First,course Second WHERE First.Cpno = Second.Cno; 例 36 查询每个学生的学号、姓名、选修的课程名及成绩。 SELECT Student.Sno,Sname,Cname,Grade FROM Student JOIN SC ON Student.Sno = SC.Sno JOIN Course ON SC.Cno = Course.Cno; 子查询: SELECT Sno,Sname,Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname= 刘晨 ); EXISTS 子查询方式 (类似关系演算方式) 例 42 查询没有选修 1 号课程的学生姓名。 SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM SC WHERE Sno=Student.Sno AND Cno= 1); 例 43 查询选修了全部课程的学生姓名。 SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM Course WHERE NOT EXISTS SELECT * FROM SC WHERE SC.Sno= Student.Sno AND SC.Cno= Course.Cno)) ; 例 44 查询至少选修了学生 95002 选修的全部课程的学生号码。 思路:不存在这样的课 95002 选了这个学生未选 用关系演算实现: RANGE Couse CX SC SCX SC SCY GET W(Student.Sno): CX(SCX(SCX.Sno=95002SCX.Cno=CX.Cno)SCY(SCY.Sno=Student.SnoCY.C no= CX.Cno) SELECT SNO FROM STUDENT S WHERE NOT EXISTS ( SELECT * FROM COURSE C WHERE EXISTS (SELECT * FROM SC WHERE SC.SNO=95002 AND SC.CNO=C.CNO) AND NOT EXISTS ( SELECT * FROM SC WHERE SC.SNO=S.SNO AND SC.CNO=C.CNO ) ) 2 查询被张三选修的课名 RANGE SC SCX RANGE S SX GET W(C.CNAME): 存在 SCX(SCX.CNO=C.CNO 并且 存在 SX(SX.SNO=SCX.SNO 并且 SX.SNAME=张三) SELECT CNAME FROM C WHERE EXISTS ( SELECT * FROM SC WHERE SC.CNO=C.CNO AND EXISTS (SLEECT * FROM S WHERE S.SNO=SC.SNO AND S.SNAME=张三) ) 4 查询被所有同学选修的课名 SELECT CNAME FROM C WHERE NOT EXISTS (SELECT * FROM S WHERE NOT EXISTS ( SELECT * FROM SC WHERE SC.SNO=S.SNO AND SC.CNO=C.CNO) 5 查询选了张三选修所有课的学生名 SELECT SNAME FROM S WHERE NOT EXISTS(SELECT * FROM C WHERE EXISTS (SELECT * FROM SC WHERE SC.CNO=C.CNO AND EXISTS ( SELECT * FROM S WHERE S.SNO=SC.SNO AND S.SNAME= 张三) AND NOT EXISTS (SELECT * FROM SC WHERE SC.CNO=C.CNO AND SC.SNO=S.SNO) ) 例 45 查询计算机科学系的学生及年龄不大于 19 岁的学生。 SELECT * FROM Student WHERE Sdept= CS UNION SELECT * FROM Student WHERE Sage 中若不存在这样的码 X、属性组 Y 及非主属性 Z,使得 XY,Y Z 成立,则称 R 3NF。 (Y X , ZY ) (即没有非主属性对码的传递函数 依赖) 采用投影分解法,把 SL 分解为两个关系模式,以消除传递函数依赖: SD(Sno, Sname, Sdept)DL(Sdept, Sloc)SD 的码为 Sno, DL 的码为 Sdept。 因为非主属性直接依赖与码,所以是 3NF。 定义 6.9 设关系模式 R1NF,如果对于 R 的每个非平凡函数依赖 XY,X 必含有 码,那么 RBCNF。等价定义:若每一个非平凡决定属性集(因素)都包含码,则 RBCNF 例如:关系模式学生教师课程 STC(S,T,C) S 学生,T 教师,C 课程。 (1)每一位教师仅教一门课,每门课有若干个教师教 (2)某个学生选定一门课后,就对应一个确定的教师(不能重复选同一门课) (3)某个学生选定一个教师后,就对应一门确定的课程 (S,C)T,(S,T)C,TC (S,C)和(S,T)都是码 S、T、C 都是主属性 STC3NF TC,T 是决定属性集,T 不是码,故 STCBCNF 将 STC 分解为二个关系模式: ST(S,T) BCNF TC(T,C) BCNF 第一范式(第一范式(1NF1NF) 、第二范式(、第二范式(2NF2NF) 、第三范式(、第三范式(3NF3NF) 、BCBC 范式(范式(BCNFBCNF) 、第四范式(、第四范式(4NF4NF) 定义 6.10 设 R(U)是一个属性集 U 上的一个关系模式, X、 Y 和 Z 是 U 的子集,并且 ZUXY,多值依赖 XY 成立当且仅当对 R 的任一关系 r,r 在(X,Z)上的每个值 对应一组 Y 的值,这组值仅仅决定于 X 值而与 Z 值无关(即不管如何变换 Z 值,这组 Y 值不 变,只与 X 值相关,或者说 Y 的这组多值只依赖于 X)。 若 XY,而 Z,则称 XY 为平凡的多值依赖 R(T1,T2) T1 T2(平凡) S(SNO,SNAME,SAGE) (SNO,SNAME)SAGE(平凡) 否则称 XY 为非平凡的多值依赖 定义 6.10 关系模式 R1NF,如果对于 R 的每个非平凡多值依赖 XY(YX) , X 都含有码,则 R4NF。 说明:4NF 不允许有典型的多值依赖(非平凡,非函数依赖); 4NF 只允许有函数依赖型的多值依赖, 且左边含有码 课堂作业: 试举出三个多值依赖的例子。分别说明更新异常,并分解。 (1)(中小学)一个年级有多个学生,一个年级每个学生使用相同的一套教材。 R1(年级,学生号,教材名) (2)一个专业多个班级,一个专业每个班级开设相同的一组课程。 R2(专业,班级,课程名) (3)一个仓库有多个保管员,一个仓库每个保管员保管员相同的一组货物。 R3(仓库,保管员,货物) 课堂作业:课堂作业: 现在有关于学生成绩管理的关系模式, 关系模式有属性:学号,姓名,班号,班名,系号,系名,课号,课名,学期,成绩。 ALL(S#,SNAME,CLA#,CLANAME,D#,DNAME,C#,CNAME,TERM,GRADE) 写出其存在的合理的函数依赖,说明是何范式,举例说明更新异常,并分解,转化为高式, 如仍存在更新异常,则继续分解。 函数依赖: S#-SNAME, S#-CLA#, CLA#-CLANAME, CLA#-D#, D#-DNAME,C#- CNAME,(S#,C#,TERM)-GRADE 主码是:(S#,C#,TERM) 存在非主属性对码部分依赖(SNAME,CNAME) ,属于 1NF 存在问题: 学生信息冗余,修改学生信息? 插入新生? 删学生成绩? 课程信息冗余,修改课程信息? 插入新课程? 删学生成绩? 消除学生信息冗余和课程信息冗余。分解为: S(S#,SNAME,CLA#,CLASSNAME,D#,DNAME) SC(S#,C#,TERM,GRADE)C(C#,CNAME) 其中 SC 中有(S#,C#,TERM)-GRADE C 中有 C#-CNAME, 没有非主属性对码的部分依赖,达到 2NF;没有非主属性对码的部分和传递依赖,达到 3NF 决定因素包含码,达到 BCNF,只有平凡的多值依赖,达到 4NF. 练习:有供应商和零件的关系模式: SP(SNO,SNAME,PNO,PCOLOR,QTY) 请写出:SP 的函数依赖? SP 的码,主属性,非主属性? SP 属于第几范式? SP 有什么更新异常? 如何分解? 练习:职工关系模式:(每种职务有固定的职务工资) 职工(职工编号,职工姓名,职务,职务工资,基本工资) 练习:入库单关系模式: 入库单(入库单号,日期,材料编号,材料名称,材料规格,计量单位,入库数量) 第第 7 7 章章 数据库设计数据库设计 数据库设计有哪些基本步骤? 1、需求分析;2、概念结构设计;3、逻辑结构设计 4、物理结构设计;5、数据库实施;6、数据库运行与维护 简述数据库设计各个阶段内容: 1、需求分析阶段:了解用户的需求,包括数据与处理。(数据流图,数据字典) 2、概念结构设计阶段:设计独立于 DBMS 的概念模型(ER 图) 3、逻辑结构设计阶段:设计 DBMS 逻辑模型,并优化 4、物理结构设计阶段:选取合适的存储结构与方法 5、数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库 6、数据库运行与维护阶段:正式运行,并对数据库评价调整与修改 E-RE-R 图向关系模型的转换规则:图向关系模型的转换规则: (1)一个实体型转换为一个关系模式。 (属性,码) (2)m:n 联系转换为一个独立关系模式。(码=各实体型码合, 联系的属性)) (3)三个或三个以上实体间的多元联系转为一个关系模式;(码=各实体码组合,联系的属性) (4)对于 1:n 联系,与 n 端合并,在 n 端关系中加入 1 端的码及联系属性; (5)对于 1:1 联系,与其一合并, 加入对方的码; (6)具有相同码的关系可合并 将下面 E-R 图转换为一组关系模式: 第八章第八章 数据库程序设计数据库程序设计 EXEC sp_databases列出当前系统中的数据库 EXEC sp_renamedb Northwin,Northwind1修改数据库的名称(单用户访问) USE stuDB GO EXEC sp_tables当前数据库中查询的对象的列表 EXEC sp_columns SC 返回某个表列的信息 EXEC sp_help SC查看表 SC 的结构信息 EXEC sp_helpconstraint SC查看表 SC 的约束 EXEC sp_helpindex SC查看表 SC 的索引 EXEC sp_helptext view1查看视图的语句文本 EXEC sp_stored_procedures 查看当前数据库中的存储过程 2 建立过程 PSTU, 输出某学生的姓名和总学分 drop procedure pstu go use studb go create procedure pstu no int as declare name char(20) declare total int select name=sname from student s where s.sno=no; select total=sum(ccredit) from course where cno in(select cno from sc where sno=no); print name=+name+totol credit=+cast(total as char(5) go exec pstu 95001 3 建立过程 PSTU2, 输出某学生的姓名, 选课门数, 平均分, 最高分,最低分, 总学分, 如 果总学分0 break; if grade is not null if grade=90 set gradeA=gradeA+1; else if grade=80 set gradeB=gradeB+1; else set gradeC=gradeC+1; end

温馨提示

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

评论

0/150

提交评论