已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 什么叫 数据库 数据库管理系统 数据库系统数据库(DB)定义:是长期储存在计算机内、有组织的、可共享的大量数据的集合数据库的基本特征:1数据按一定的数据模型组织、描述和储存 2可为各种用户共享 3冗余度较小 4数据独立性较高 5易扩展有 1永久储存 2有组织 3可共享 三个基本特点数据库管理系统(DBMS)定义:位于用户与操作系统之间的一层数据管理软件。是基础软件,是一个大型复杂的软件系统。用来科学地组织和存储数据、高效地获取和维护数据数据库系统(DBS)数据库系统是指在计算机系统中引入数据库后构成的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DBA)构成。2. 数据库系统特点与人工管理和文件系统相比 特点有1 数据结构化 2数据的共享性高,冗余度低,易扩充 3数据独立性高 4数据由DBMS统一管理和控制3. 最常用的数据模型1 层次模型 2网状模型 3关系模型 4面向对象模型 5对象关系模型4. 数据库 三级模式 二级映射三级模式1模式 2外模式 3内模式模式数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式地位:是数据库系统模式结构的中间层模式定义了 1数据的逻辑结构 2数据之间的联系 3数据有关的安全性、完整性要求外模式数据库用户使用的局部数据的逻辑结构和特征的描述,外模式的数据视图,是与某一应用有关的数据的逻辑表示可有多个外模式用途:1保证数据库安全性的一个有力措施 2每个用户只能看见和访问所对应的外模式中的数据 权限外模式的地位:介于模式与应用之间内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式一个数据库只有一个内模式二级映射外模式模式映像每有一个外模式,数据库系统都有一个外模式模式映象,定义外模式与模式之间的对应关系 即定义 全局逻辑结构 局部逻辑结构的对应关系 注:修改模式需修改映像模式内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系 注:映象唯一 通常在模式中已定5. 关系数据结构及形式化定义关系的集合基础 域 笛卡尔积 关系 概念自寻关系中的名词:元组(不是元祖):关系中的每个元素是关系中的元组属性:为区分,每列起一个名字,称为属性码:关系中的某一属性组的值能唯一地标识一个元组,则该属性组为候选码主码:若一个关系有多个候选码,则选定其中一个为主码主属性:候选码的诸属性称为主属性基本关系(基本表):实际存在的表,是实际存储数据的逻辑表示查询表:查询结果对应的表视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据 关系模式可以简记为R (U)或R (A1,A2,An) R关系名 A1,A2,An属性名关系操作关系代数 和 关系演算 详见书P53-606.SOL基本操作例1:建立“学生”表Student,学号是主码,姓名取值唯一。 CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件 主码*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ );注:出现FOREIGN KEY (AAAA) REFERENCES 表名 (BBBB) 表示AAAA是外码被参照表是所建表被参照列是BBBB例2:修改基本表ALTER TABLE ADD 完整性约束 DROP ALTER COLUMN ;向Student表增加“入学时间”列,其数据类型为日期型。ALTER TABLE Student ADD S_entrance DATE;将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。 ALTER TABLE Student ALTER COLUM条件。ALTER TABLE Course ADD UNIQUE(CN Sage INT;增加课程名称必须取唯一值的约束name); 例3:删除基本表 DROP TABLE RESTRICT| CASCADE; DROP TABLE Student CASCADE ;基本表定义被删除,数据被删除表上建立的索引、视图、触发器等一般也将被删除 例4:建立索引 CREATE UNIQUE CLUSTER INDEX ON (, ); 在Student表的Sname(姓名)列上建立一个聚簇索引 CREATE CLUSTER INDEX Stusname ON Student(Sname); 例5:删除索引: DROP INDEX ; 例6:数据查询SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC WHERE:查询年龄在2023岁(包括20岁和23岁)之间的学生的姓名、系别和年龄SELECT Sname,Sdept,SageFROM StudentWHERE Sage BETWEEN 20 AND 23;ORDER BY: 按属性列排序 升序:ASC;降序:DESC;缺省值为升序查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列SELECT *FROM StudentORDER BY Sdept,Sage DESC;GROUP BY:求各个课程号及相应的选课人数SELECT Cno,COUNT(Sno)FROM SCGROUP BY Cno;查询选修了3门以上课程的学生学号。SELECT SnoFROM SCGROUP BY SnoHAVING COUNT(*) 3;注:WHERE子句作用于基表或视图,HAVING短语作用于组 GROUP BY分组例7:插入数据INSERTINTO (,)VALUES ( ,);将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中INSERTINTO Student (Sno,Sname,Ssex,Sdept,Sage)VALUES (200215128,陈冬,男,IS,18);例8:修改数据UPDATE SET =,=WHERE ;删除学号为200215128的学生记录DELETEFROM StudentWHERE Sno= 200215128;删除所有的学生选课记录DELETEFROM SC;例8:定义视图CREATE VIEW ( ,)AS WITH CHECK OPTION;建立信息系学生的视图CREATE VIEW IS_StudentAS SELECT Sno, Sname, SageFROM StudentWHERE Sdept= IS;例9:删除视图DROP VIEW ;删除信息系学生的视图DROP VIEW IS_Student;例10:更新视图将信息系学生视图IS_Student中学号61298520的学生姓名改为“张茜”UPDATE IS_StudentSET Sname= 张茜WHERE Sno= 61298520;7.TCSEC/TDI安全级别划分8.SQL中授权与回收 授权:GRANT GRANT ,. ON , . TO ,. WITH GRANT OPTION; 例:把查询Student表权限授给用户U1 GRANT SELECT ON TABLE Student TO U1;把对Student表和Course表的全部权限授予用户U2和U3GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3;把对表SC的查询权限授予所有用户GRANT SELECT ON TABLE SC TO PUBLIC;把查询Student表和修改学生学号的权限授给用户U4GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户GRANT INSERT ON TABLE SC TO U5WITH GRANT OPTION; 传播权限回收:REVOKEREVOKE ,. ON , .FROM ,.;例:把用户U4修改学生学号的权限收回REVOKE UPDATE(Sno)ON TABLE Student FROM U4;收回所有用户对表SC的查询权限REVOKE SELECT ON TABLE SC FROM PUBLIC;把用户U5对SC表的INSERT权限收回REVOKE INSERT ON TABLE SC FROM U5 CASCADE ; 级联(CASCADE)收回9.规范化 规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题函数依赖在关系模式R(U)中,对于U的子集X和Y,如果XY,但Y X,则称XY是非平凡的函数依赖若XY,但Y X, 则称XY是平凡的函数依赖若XY,则X称为这个函数依赖的决定属性组,也称为决定因素若XY,YX,则记作XY若Y不函数依赖于X,则记作XY在R(U)中如果XY,并且对于X的任何一个真子集X,都有X Y, 则称Y对X完全函数依赖,记作X F Y。若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X P Y。例题详见书p170 例1 和 p173 例1在R(U)中,如果XY,(Y X) ,YX YZ,则称Z对X传递函数依赖。记X Z例: 在关系Std(Sno, Sdept, Mname)中,有:Sno Sdept,Sdept Mname Mname传递函数依赖于Sno范式E.F.Codd 提出1NF 2NF 3NF概念 数据库之父范式是符合某一种级别的关系模式的集合范式的种类及联系:1NF定义:如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF2NF定义:若R1NF,且每一个非主属性完全函数依赖于码,则R2NF 2NF不具有部分依赖3NF若R3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码3NF不具有传递性BCNF所有非主属性对每一个码都是完全函数依赖所有的主属性对每一个不包含它的码,也是完全函数依赖没有任何属性完全函数依赖于非码的任何一组属性10.数据库设计的基本步骤1需求分析阶段2概念结构设计阶段3物理设计阶段阶段4逻辑结构设计阶段 5数据库的物理设计阶段6数据库实施和维护阶段补. 嵌套查询将第一步查询嵌入到第二步查询的条件中 SELECT Sno,Sname,Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname=刘晨);例:查询选修了课程名为“信息系统”的学生学号和姓名SELECT Sno,Sname 最后在Student关系中 FROM Student 取出Sno和Sname WHERE Sno IN (SELECT Sno 然后在SC关系中找出选 FROM SC 修了3号课程的学生学号 WHERE Cno IN (SELECT Cno 首先在Course关系中找出 FROM Course “信息系统”的课程号,为3号 WHERE Cname= 信息系统 ) );补2. 8今有两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号)部门(部门号,名称,经理名,地址,电话号)请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义活存取控制功能:(1)用户王明对两个表有SELECT权力GRANT SELECT ON 职工,部门TO 王明;(2)用户李勇对两个表有INSERT和DELETE权力GRANT INSERT,DELETE ON 职工,部门TO 李勇;(3)每个职工只对自己的记录有SELECT权力GRANT SELECT ON 职工WHEN USER()=NAMETO ALL;(4)用户刘星对职工表有SELECT权力,对工资字段具有更新权力GRANT SELECT,UPDATE(工资) ON 职工TO 刘星;(5)用户张新具有修改这两个表的结构的权力GRANT ALTER TABLE ON 职工,部门TO 张新;(6)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力GRANT ALL PRIVILIGES ON 职工,部门TO 周平WITH GRANT OPTION;(7)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,她不能查看每个人的工资CREATE VIEW 部门工资 ASSELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资)FROM 职工,部门WHERE 职工.部门号=部门.部门号GROUP BY 职工.部门号GRANT SELECT ON 部门工资TO 杨兰;REVOKE (1) REVOKE SELECT ON 职工,部门 FROM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论