数据库基础入门知识资料个人整理编辑版强烈推荐.doc

上传人:小** 文档编号:3475897 上传时间:2019-05-31 格式:DOC 页数:20 大小:182.50KB
下载 相关 举报
数据库基础入门知识资料个人整理编辑版强烈推荐.doc_第1页
第1页 / 共20页
数据库基础入门知识资料个人整理编辑版强烈推荐.doc_第2页
第2页 / 共20页
数据库基础入门知识资料个人整理编辑版强烈推荐.doc_第3页
第3页 / 共20页
数据库基础入门知识资料个人整理编辑版强烈推荐.doc_第4页
第4页 / 共20页
数据库基础入门知识资料个人整理编辑版强烈推荐.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、#*数据库知识要点总结第一章 关系数据模型数据模型(静态)的三要素一 关系数据结构(一)基本概念包括:1 属性(Attribute):实体所具有的某一特征。 (如学生的特征是学号、姓名、 -)域(Domain):属性对应的一组具有相同数据类型的值的集合。每个属性有一个域。 (关系模型限定域必须原子性 1NF)2 键( key)(1)候选键(candidate key)关系的某一属性或属性组的值唯一标识一个元组,而其任何真子集无此性质。候选键的诸属性称为主属性,不包含在任何候选键中的属性称为非主属性。(2)主键(primary key)一个关系至少有一个侯选键,可以有几个侯选键。一般从侯选键中选

2、择一个作为主键(primary key),其他的称为侯补键( alternate key)每个主键的值是不能相同的,(3)外键(foreign key)如关系中的属性或属性组不是本关系的主键,而引用其他关系或本关系的主键,则称为本关系的外键。3 关系(Relation ):(1)关系:定义在事物的所有属性域上的多元关系 ,一个关系就是一张二维表。 (2)关系模式:关系的描述称为关系模式,它可以形式化的表示为R(U,D,DOM, F)R 为关系名U 为组成该关系的属性名集合D 为属性组 U 中属性所来自的域DOM 为属性向域的映像集合F 为属性间数据的依赖关系集合关系模式通常简记为:R(U)或

3、R(A1,A2,A3,An )关系的三种基本类型基本表:是实际存在的表,它是实际存储数据的逻辑表示。查询表:是查询结果对应的表。视图表:是由基本表或其他视图导出的表,是虚表,不对应实际存储内容。二 关系操作(一)两种关系操作1 查询(Query)查询可以分为 选择(SELECT),投影(Project),连接(Join),交(Intersection),并(Union),差(Except),除 (Divide),笛卡尔乘积。其中选择,投影,并,差,笛卡尔乘积是 5 种基本操作,其他的操作可用这些基本操作定义和导出2 插入(Insert),删除(Delete) ,修改(Update)(二)关系操

4、作的特点集合式的操作方式,即操作的对象和结果都是集合。#*(三)关系数据语言可以分为三类1 关系代数语言2 关系演算语言(元组关系演算和域关系演算)3 具有关系代数和关系演算双重特点的语言(SQL 语言)三 关系完整性约束关系数据库的数据必须遵循的约束实体完整性(Entity Integrity ) 参照完整性(Referential Integrity ) 用户自定义完整性(User-Defined Integrity )实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为关系的两个不变性。 (一)实体完整性实体完整性规则:关系模式 R 的主属性值不可为空指所有主属性均不可取空值

5、,不仅仅是主键不可为空 (二)参照完整性1 外键(Foreign Key)定义:设 F 是基本关系 R 的一个或一组属性,但不是关系的码,是基本关系的主码。如果与相对应,则称是的外码(Foreign Key)R 称为参照关系(Referential Relation ) ,S 称为被参照关系( Referenced Relation )2 参照完整性规则若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 KS 相对应(基本关系到 R 和 S 不一定是不同关系) ,则对于 R 中每个元组在 F 上的值必须为:(1)等于被参照关系 S 中所参照的候选键的某个值(2)空值(三)用

6、户自定义完整性针对某一具体数据的约束条件,反映某一具体应用所涉及的数据必须满足的特殊语义由应用环境决定四 关系代数关系代数按运算符的不同可分为传统关系运算和专门关系运算(一)传统关系运算(交,并,差,笛卡尔乘积)1 (并)R1R2=b 2 db 3 bc 2 d #*d 3 ba 3 ce 5 fg 6 62 (交 AND) R1R2= b 2 dc 2 d3 (差) R1R2= b 3 bd 3 b4 (笛卡尔乘积) R1 S = b 2 d 2 d b 2 d 3 bb 3 b 2 db 3 b 3 bc 2 d 2 dc 2 d 3 bd 3 b 2 dd 3 b 3 b(二)专门关系运

7、算1 选择(SELECT) (选择符合条件的元组)() 如: 性别=男(STUDENT) 表的水平划分2 投影(Project)(选择符合条件的属性) () 如: 学号,姓名 (STUDENT)表的垂直划分3 连接操作(Join)笛卡尔乘积 R S = |tR AND gS(1)连接分为等值连接和自然连接连接操作: R|S 其中 A 和 B 分别为 R 和 S 上度数相等且具有可比性的属性组1)等值连接( 为=) R1.A1 R1.A2 R1.A3 S.A2 S.A3如上例 R1 | S = b 2 d 2 dR1.A2=S.A2 b 3 b 3 bc 2 d 2 dd 3 b 3 b 2)自

8、然连接(只有|)AB#*一般连接是从行的角度出发的,但自然连接还要取消重复的列,是从行和列的角度进行运算S.A2 S.A3R1.A1 R1.A2 R1.A3 如 R1 | S = b 2 dB 3 b4 除运算()R1.A1如 R1S = b在 R1 上 b 印象集合是(2,d),(3,d)S 在(A1,A2)上的投影为(2,d),(3,d)第二章 关系数据库的标准语言 SQL一 SQL 动词表SQL 功能 动词数据查询 SELECT数据定义 CREATE,DROP ,ALTER数据操纵 INSERT,UPDATE,DELETE数据控制 GRANT,REVOKE二 数据定义操作方式操作对象创建

9、 删除 修改模式 CREATE SCHEMA DROP SCHEMA表 CREATE TABLE DROP TABLE ALTER TABLE视图 CREATE VIEW DROP VIEW索引 CREATE INDEX DROP INDEX注意SQL 通常不提供修改模式定义,修改视图定义,修改索引定义的操作(一)模式的定义和删除1 模式的定义CREATE SCHEMA AUTORIZATION例如:CREATE SCHEMA “s-t” AUTORIZATION wang;(1) 要创建模式,调用该命令的用户必须具有 DBA 权限,或者获得了 DBA 授予的CREATE SCHEMA 权限(

10、2)如果没指定那么隐含为(3)定义模式,实际上是定义了一个命名空间,在这个空间中可以进一步定义该模式包含的数据库对象,例如基本表,视图,索引。2 模式的删除DROP SCHEMA (两者必选其一)#*例如:DROP SCHEMA “s-t” CASCADE;(1)CASCADE(级联)表示在删除模式的同时把该模式中所有的数据库对象全部一起删除。(2)RESTRICT(限制)表示在删除该模式中已经定义了下属数据库对象(表,视图索引) ,则拒绝该删除语句。(二)表的定义,删除和修改1 表的定义CREATE TEBLA ( 列级完整性约束 , 列级完整性约束 ,)列定义的完整格式: DEFAULT

11、NOT NULL CREATE TEBLA AS 若要定义模式式下的表:CREATE TABLE . (1)数据类型ANSI/ISO OracleChar(n)Character(n)Char(n)Character Varying(n)字符型Char Varying(n)Varchar2(n)NumericDecimalIntegerIntFloatDouble数值型RealNumberDate日期型TimeDate(2)完整性约束主键约束(Primary Key) 实体完整性外键约束(Foreign Key) 参照完整性检查约束(Check) 用户自定义完整性唯一键约束(Unique)非空

12、约束(Null | Not Null)默认值(Defautl)(3)例子CREATE TABLE student( Sno CHAR(8) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2) DEFALULT 男, Sage SMALLINT CHECK(Sage0)#*Sdept CHAR(20)CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4) REFERENCES Course(Cno),Ccredit SMALLINT,CHECK (Ccredit

13、0)CREATE TABLE sc( Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY (Sno,Cno),/注意一定要有括号FOREIGN KEY(Sno) REFERENCES Course(Cno),/sno 一定要有括号)(4)说明1)列约束:在每个列后定义,可以有多个约束子句,不能定义多个列上的约束2)表约束:在全部列定义完成后定义,可以有多个约束子句,多个列上的约束必须使用表约束,单列上的约束可以用列约束,也可用表约束2 表的删除DROP TABLE CASCADE | RESTRICT(1)CASCADE(级联)删除该表没有任何

14、限制,删除表的同时,相关的依赖对象(如视图)也一起删除。(2)RESTRICT(限制)删除该表是有限制条件的。欲删除的表不能被其他表的约束所引用 (如 CHECK,FOREIGN KEY 等约束) ,不能有视图,不能有触发器(trigger) ,不能存储过程或函数。(3)缺省情况下是 RESTRICT3 表的修改ALTER TABLE ADD 完整性约束 | MODIFY 完整性约束 |DROP COLUMN |ADD |DROP CONSTRAINT 例如(1)ALTER TABLE StudentADD Dept Varchar2(10)UNIQUE(2)Alter Table Stude

15、ntDROP COLUMN age (3)AlLTER TABLE StudentMODIFYage number(3) NOT NULL(4)ALTER TABLE StudentADD CONSTRAINT PK_Student PRIMARY KEY(S#)(5)ALTER TABLE SCDROP CONSTRAINT FK_SC(三)视图的定义和删除#*1 视图的定义CREATE VIEW (列名 1,列名 2,) /列名一定要放在括号里AS WITH CHECK OPTION |WITH READ ONLY例如:CREATE VIEW cs_view (sno, name, age

16、)AS SELECT s#, sname, ageFROM studentWHERE Dept = 计算机系WITH READ ONLY;(1)WITH CHECK OPTION 表示对视图进行 UPTATE,INSERT,DELETE 操作时要保证更新,插入,删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)WITH READ ONLY 表示视图是只读的(2)视图的属性列名只能是全部缺省或全部指定,没有别的选择。但在下列两种情况下必须明确指定组成视图的列名。1)某个目标列不是单纯的属性名,而是聚集函数或列表达式。2)多表连接时选出几个同名列作为视图的字段。(3)子查询可以是任意的 S

17、ELECT 子句,但通常不允许含有 OREER BY 子句各DISDINCT 短语。(4)不是所有视图都是可更新的1)基于联接查询的视图不可更新2)使用了函数的视图不可更新3)使用了分组操作的视图不可更新4)只有建立在单个表上而且没有使用函数的视图才是可更新的2 视图的删除DROP VIEW CASCADE(四)索引的定义和删除1 索引的定义CREATE UNIQUE | CLUSTER INDEX ON ( , )例如:CREATE UNIQUE INDEX SCno on SC(Sno ASC, Cno DESC);(1)UNIQUE 表明此索引的每一个索引值只对应唯一的数据记录(2)CL

18、USTER 表示要建立的索引是聚簇索引。聚簇索引是指索引项的顺序与表中的物理顺序一致的索引组织,在一个表上只能建立一个聚簇索引。(3)次序可选 ASC(升序)或 DESC(降序)缺省值为 ASC2 索引的删除DROP INDEX DROP INDEX SCno;三 数据更新(一)插入数据INSERT 插入数据通常有两种形式,一种是插入一个元组,另一种是插入子查询结果。后者可以一次插入多个元组。1 插入一个元组INSERT INTO ( ,)#*VALUES( ,)例如 INSERT INTO Student (Sno, Sname, Ssex, Sdept, Sage)VALUES (2008

19、1512, 陈冬 , 男 , IS , 18);INTO 语句中没有出现的属性列,新元组在这些列上将取空值或默认值。在 INTO 子句中只指出了表名,没有指出属性名,新元组要在所有属性列上都指定值,属性列的次序与 CREATE TABLE 中的次序相同。2 插入子查询结果INSERT INTO ( ,)子查询;例如 INSERT INTO Dept_age( Sdept ,Avg_age)SELECT Sdept ,AVG(Sage)FROM StudentGROUP BY Sdept;(二)修改数据UPDATE SET =,= WHERE ;例如:UPDATE Student SET Sag

20、e=22WHERE Sno=200215021;(三)删除数据DELETE FROMWHERE ;例如:DELETE FROM StudentWHERE Sno=20021528;DELETE 语句删除的是表中的数据,而不是关于表的定义。四 数据查询基本数据查询的格式:SELECT ALL | DISTINCT AS,ASFROM ,WHEREGROUP BY HAVINGORDER BY ASC|DESC; (一)单表查询在一个表中查询数据#*1* 查询查询全部记录:查询全部的学生信息SELECT * FROM Student;*表示所有列等同于SELECT s#, sname, age,

21、sex FROM Student2 使用别名(AS 或空格)使用别名:查询所有学生的学号和姓名SELECT s# AS 学号, sname AS 姓名 FROM Student如果别名包含空格,须使用双引号SELECT s# AS “Student Number” FROM Student3 表达式查询(三种表达式,字符串表达式,算术表达式,函数表达式)(1)字符串表达式查询所有学生的学号、姓名和出生年份,返回两列信息,其中一列是“学号:姓名”,另一列是出生年份SELECT s# | “:”| sname AS 学生,2003age AS 出生年份 FROM Student说明连接字符串 |

22、表示则多个查询列连接为一个列输出。(2)算术表达式查询学生的出生年份SELECT 2003age AS 出生年份 FROM Student;(3)函数表达式SELECT sno, to_char(birth, mm-dd-yyyy) AS birthday FROM StudentSELECT Count(sno) As 学生人数 FROM Student4 条件查询(1)WHERE 条件注:1)在 where 子句中使用列名和表达式,但不能使用别名。2)在 where 子句中使用数值时,既可以用单引号也可以不用单引号,使用日期值字符值时,都必须使用单引号,并且日期值的格式必须要符合数据库中支

23、持的日期格式,否则必须事先使用 to_date 函数将其转换成为数据库中支持的日期格式。oracle 中日期的默认格式为: 01-1 月-82在输入查询条件时,可以用 to_date(1998-01-01,yyyy-mm-dd)#*3)在 SQL 语句中,命令不区分大小写,但字符串区分大小写WHERE 子句中的关系运算符:比较操作符:, =, 逻辑操作符:AND OR NO其他操作符:INBETWEEN ANDIS NULL 和 IS NOT NULLLIKEEXISTS例如:1)IN:查询s001,s003,s006和s008四学生的信息SELECT * FROM StudentWHERE

24、s# IN (s001,s003,s006,s008)2)IS NOT NULL:查询缺少年龄数据的学生SELECT * FROM Student WHERE age IS NULLLIKE:查询姓名的第一个字母为R 的学生SELECT * FROM Student WHERE sname LIKE R%:任意长度的字符串_:单个字符(一个汉字占两个字节)注意:LIKE 只能用于字符串的匹配,不能用于其他类型。查询姓名的第一个字母为R并且倒数第二个字母为S 的学生SELECT * FROM Student WHERE sname LIKE R%S_多个比较式可用 NOT、AND 和 OR 连接

25、SELECT * FROM Student WHERE age IS NULL and sname LIKE R%3)若要查询通配符可以用转义字符 escape character 通常 character 用 (2)去除重复记录(DISTINCT)查询学生的姓名SELECT Distinct sname FROM StudentDISTINCTt 只对记录有效,不针对某个特定列SELECT Distinct sname, age FROM Student(3)排序查询(ORDER BY)注:1)order by 只能对最终查询结果进行排序,也就是说其只能放在查询语句的最后一条。2)可以使用列的别名,列的位置进行排序。3)在大多数情况下,指定的排序列(order by 列名)都是选择列(select 列名) ,但排序列也可以不是选择列。但如果在 select 语句中使用了 distinct 关键字,则排序列必须是选择列了。查询所有学生信息并将结果按年龄升序排列SELECT * FROM Student ORDER By age将结果按年龄升序排列,按姓名降序排列SELECT * FROM StudentORDER By age ASC,sname DESC

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 复习参考

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。