6_第3章_关系数据库标准语言_1
数据库系统概论(第五版)()演示文稿

删除模式(续)
[例3.4] DROP SCHEMA ZHANG CASCADE; 删除模式ZHANG 同时该模式中定义的表TAB1也被删除
第31页,共95页。
3.3 数据定义
3.3.1 模式的定义与删除 3.3.2 基本表的定义、删除与修改
3.3.3 索引的建立与删除
第32页,共95页。
/* 表级完整性约束条件,Sno是外码,被参照表是Student */
FOREIGN KEY (Cno)REFERENCES Course(Cno)
/* 表级完整性约束条件, Cno是外码,被参照表是Course*/
);
第36页,共95页。
2. 数据类型
❖ SQL中域的概念用数据类型来实现 ❖ 定义表的属性时需要指明其数据类型及长度 ❖ 选用哪种数据类型
课程号 Cno 1 2 3 2 3
成绩 Grade 92 85 88 90 80
第22页,共95页。
第三章 关系数据库标准语言SQL
3.1 SQL概述 3.2 学生-课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 空值的处理 3.7 视图 3.8 小结
第23页,共95页。
[例3.2] CREATE SCHEMA AUTHORIZATION WANG; 该语句没有指定<模式名>,<模式名>隐含为<用户名>
第27页,共95页。
定义模式(续)
❖ 定义模式实际上定义了一个命名空间。 ❖ 在这个空间中可以定义该模式包含的数据库对象,
例如基本表、视图、索引等。 ❖在CREATE SCHEMA中可以接受CREATE
❖ SQL采用集合操作方式
第三章 关系数据库查询语言SQL

20112011-2-25
主讲:王颂华
9
3.2 数据定义
3.2.3 索引的建立与删除
1.建立索引 1.建立索引 索引是数据库随机检索的常用手段,它实际上是记 录的关键字与其相应地址的对应表。借助于索引结构,可 以迅速查找到某个属性A 以迅速查找到某个属性A具有指定值的那些元组。对一个 基本表,可以按需要建立若干个索引,以便提供多种存取 路径。 建立索引的语句格式为: CREATE[UNIQUE][CLUSTER]INDEX<索引名 CREATE[UNIQUE][CLUSTER]INDEX<索引名 > ON<表名>(<列名1>[<次序>],[<列名2>[<次序 ON<表名>(<列名1>[<次序>],[<列名2>[<次序 >]]… >]]…);
3.2 数据定义
2)主关键字的定义 一个关系可能有多个候选关键字,但在定义基本表 时只能定义一个主关键字。一个关系的主关键字由一个或 几个属性构成,在CREATE TABLE中声明主关键字有两 几个属性构成,在CREATE TABLE中声明主关键字有两 种方法: (1)在列出关系模式的属性时,在属性及其类型后加 上保留字PRIMARY KEY,表示该属性是主关键字。 上保留字PRIMARY KEY,表示该属性是主关键字。 (2)在列出关系模式的所有属性后,再附加一个声明: PRIMARY KEY(<属性1>[,<属性2>,…]) KEY(<属性1 ,<属性2>,… 如果关键字由多个属性构成,则必须使用第二种方 法。
20112011-2-25 主讲:王颂华 12
3.3 数据查询
3.3.1 单表查询
第3章关系数据模型及语言

除 rs={u对每一元组vs都存在同一元组tr,使得t[Q]=u 且t[S]=v} 半连 rs=R(r s) 囿补 ŕ={t|t( A1 (r)×A2(r)××Ak(r))tr}, 是有限关系
对任何有限关系,经上述定义的关系代数运算,结果 仍是有限关系----称这些关系代数运算为囿代数运算; 只包含囿代数运算的关系代数称为囿关系代数.
2. 域演算
以域变量(元组变量的分量)作为谓词变元的关系运算。
域演算表达式为: { t1t2tk | φ(t1,t2,tk)} 其中,t1,t2,tk为元组变量t的各个分量, φ是域演算公式。
1) 三种原子公式
① r(t1t2tk) :“以t1,t2,tk为分量的元组在关系r中”
所以,一个关系模式是个五元组r(R,D,d,F)。 显然,关系模式是型,关系是它的值;关系模式是静态 的、稳定的,而关系是动态的,随时间不断变化的。
5、关系模型
关系模型是所有的关系模式、属性名和关键字的集 合;即:若干关系框架的集合。 一个关系模型描述了若干实体及其相互的联系。
6、关系数据库
对应于一个关系模型的所有关系的集合,称为关 系数据库。 实际上,关系数据库也有型与值之分: 关系数据库的型称为关系数据库模式,是对关系数 据库的描述,包括域的定义以及在这些域上定义的若 干关系模式; 关系数据库的值称为关系数据库,是这些关系模式 在某一时刻对应的关系的集合。
在文件组织中,这些表格称为文件。
术语对照:
关系具有的特性:
(1)每一列有不同的名字,但每一列属同一类型的域 值;不同列也可以出自相同的域; (2)任意两行不能全同; (3)每一数据项应为不可再分的数据单位; (4)行、列次序无关; (5)具有主关键字唯一标识各个元组;
《数据库系统概论》课后习题及参考答案

课后作业习题《数据库系统概论》课程部分习题及参考答案第一章绪论(教材41页)1.试述数据、数据库、数据库系统、数据库管理系统的概念。
数据:描述事物的符号记录称为数据。
数据的种类有文字、图形、图象、声音、正文等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库系统:数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。
用于科学地组织和存储数据、高效地获取和维护数据。
DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
2.使用数据库系统有什么好处?使用数据库系统的好处是由数据库管理系统的特点或优点决定的。
使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。
为什么有这些好处,可以结合第 5题来回答。
使用数据库系统可以大大提高应用开发的效率。
因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由 DBMS来完成。
此外,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。
数据逻辑结构的改变是DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。
从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。
使用数据库系统可以减轻数据库系统管理人员维护系统的负担。
因为 DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。
数据库系统原理与应用 目录

5.3 完整性
第6章 数据库的事务处理与数据恢复
6.1 事务管理的基本概念 6.2 并发控制
6.3 数据库恢复
第7章 SQL Server 2000
7.1 SQL Server 2000的安装 7.2 SQL Server 2000的管理工具
7.3 SQL Server 2000数据库对象的操作
第9章 数据库应用程序开发
9.1 数据库应用程序设计方法 9.2 数据库应用程序的体系结构
9.3 数据库与应用程序的接口
9.4 数据库应用程序开发
3.1 SQL概述 3.2 数据定义 3.3 数据查询 3.4 数据更新
3.5 视图
3.6 数据控制
第4章 关系数据库设计理论
4.1 数据依赖 4.2 范式 4.3 关系模式的分解
第5章 数据库安全性和完整性
5.1 数据库的安全性 5.2 SQL Server数据库的安全性
7.4 SQL Server 2000数据库管理 7.5 SQL Server 2000程序设计 7.6 SQL Server 2000安全性管理 7.7 链接服务器
第8章 数据库设计
8.1 数据库设计概述 8.2 需求分析
8.3 概念结构设计
8.4 逻辑结构设计 8.5 数据库的物理设计 8.6 数据库实施 8.7 数据库运行与维护
21世纪高职高专新概念教材
数据库系统原理与应用
目录
第1章 数据库基本知识 第2章 关系数据库
数据库系统概论知识点

第一章:绪论数据库(DB):长期存储在计算机内、有组织、可共享的大量数据的集合。
数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统(DBMS):位于用户和操作系统间的数据管理系统的一层数据管理软件。
用途:科学地组织和存储数据,高效地获取和维护数据。
包括数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。
数据库系统(DBS):在计算机系统中引入数据库后的系统,一般由数据库。
数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
目的:存储信息并支持用户检索和更新所需的信息。
数据库系统的特点:数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。
概念模型实体,客观存在并可相互区别的事物称为实体。
属性,实体所具有的某一特性称为属性。
码,唯一标识实体的属性集称为码。
域,是一组具有相同数据类型的值的集合。
实体型,具有相同属性的实体必然具有的共同的特征和性质。
实体集,同一类型实体的集合称为实体集。
联系两个实体型之间的联系一对一联系;一对多联系;多对多联系关系模型关系,元组,属性,码,域,分量,关系模型关系数据模型的操纵与完整性约束关系数据模型的操作主要包括查询,插入,删除和更新数据。
这些操作必须满足关系完整性约束条件。
关系的完整性约束条件包括三大类:实体完整性,参照完整性和用户定义的完整性。
数据库系统三级模式结构外模式,模式,内模式模式:(逻辑模式)数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式。
模式的地位:是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。
模式定义的内容:数据的逻辑结构(数据项的名字、类型、取值范围等),数据之间的联系,数据有关的安全性、完整性要求外模式:(子模式/用户模式)数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据库和逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的系统的逻辑表示。
数据库系统教程课后答案(施伯乐)(第二版)
目录第1部分课程的教与学第2部分各章习题解答及自测题第1章数据库概论1.1 基本内容分析1.2 教材中习题1的解答1.3 自测题1.4 自测题答案第2章关系模型和关系运算理论2.1基本内容分析2.2 教材中习题2的解答2.3 自测题2.4 自测题答案第3章关系数据库语言SQL3.1基本内容分析3.2 教材中习题3的解答3.3 自测题3.4 自测题答案第4章关系数据库的规范化设计4.1基本内容分析4.2 教材中习题4的解答4.3 自测题4.4 自测题答案第5章数据库设计与ER模型5.1基本内容分析5.2 教材中习题5的解答5.3 自测题5.4 自测题答案第6章数据库的存储结构6.1基本内容分析6.2 教材中习题6的解答第7章系统实现技术7.1基本内容分析7.2 教材中习题7的解答7.3 自测题7.4 自测题答案第8章对象数据库系统8.1基本内容分析8.2 教材中习题8的解答8.3 自测题8.4 自测题答案第9章分布式数据库系统9.1基本内容分析9.2 教材中习题9的解答9.3 自测题9.4 自测题答案第10章中间件技术10.1基本内容分析10.2 教材中习题10的解答10.3 自测题及答案第11章数据库与WWW11.1基本内容分析11.2 教材中习题11的解答第12章 XML技术12.1基本内容分析12.2 教材中习题12的解答学习推荐书目1.国内出版的数据库教材(1)施伯乐,丁宝康,汪卫. 数据库系统教程(第2版). 北京:高等教育出版社,2003(2)丁宝康,董健全. 数据库实用教程(第2版). 北京:清华大学出版社,2003(3)施伯乐,丁宝康. 数据库技术. 北京:科学出版社,2002(4)王能斌. 数据库系统教程(上、下册). 北京:电子工业出版社,2002(5)闪四清. 数据库系统原理与应用教程. 北京:清华大学出版社,2001(6)萨师煊,王珊. 数据库系统概论(第3版). 北京:高等教育出版社,2000(7)庄成三,洪玫,杨秋辉. 数据库系统原理及其应用. 北京:电子工业出版社,20002.出版的国外数据库教材(中文版或影印版)(1)Silberschatz A,Korth H F,Sudarshan S. 数据库系统概念(第4版). 杨冬青,唐世渭等译. 北京:机械工业出版社,2003(2)Elmasri R A,Navathe S B. 数据库系统基础(第3版). 邵佩英,张坤龙等译. 北京:人民邮电出版社,2002(3)Lewis P M,Bernstein A,Kifer M. Databases and Transaction Processing:An Application-Oriented Approach, Addison-Wesley, 2002(影印版, 北京:高等教育出版社;中文版,施伯乐等译,即将由电子工业出版社出版)(4)Hoffer J A,Prescott M B,McFadden F R. Modern Database Management. 6th ed. Prentice Hall, 2002(中文版,施伯乐等译,即将由电子工业出版社出版)3.上机实习教材(1)廖疆星,张艳钗,肖金星. PowerBuilder 8.0 & SQL Server 2000数据库管理系统管理与实现. 北京:冶金工业出版社,2002(2)伍俊良. PowerBuilder课程设计与系统开发案例. 北京:清华大学出版社,20034.学习指导书(1)丁宝康,董健全,汪卫,曾宇昆. 数据库系统教程习题解答及上机指导. 北京:高等教育出版社,2003(2)丁宝康,张守志,严勇. 数据库技术学习指导书. 北京:科学出版社,2003(3)丁宝康,董健全,曾宇昆. 数据库实用教程习题解答. 北京:清华大学出版社,2003 (4)丁宝康. 数据库原理题典. 长春:吉林大学出版社,2002(5)丁宝康,陈坚,许建军,楼晓鸿. 数据库原理辅导与练习. 北京:经济科学出版社,2001第1部分课程的教与学1.课程性质与设置目的现在,数据库已是信息化社会中信息资源与开发利用的基础,因而数据库是计算机教育的一门重要课程,是高等院校计算机和信息类专业的一门专业基础课。
第三章 关系数据库标准语言SQL习题
第三章关系数据库标准语言SQL一、单项选择题1.SQL语言就是。
A.过程化语言B.宿主语言C.汇编语言D.非过程化语言2.在视图上不能完成的操作就是。
A.更新视图B.查询C.在视图上定义基本表D.在视图上定义新的视图3.SQL语言集数据查询、数据操纵、数据定义与数据控制功能于一体,其中CREATE、DROP、ALTER语句实现功能。
A.数据查询B.数据操纵C.数据定义D.数据控制4.在SQL语言中,删除一个视图的命令就是。
A.DELETEB.DROPC.CLEARD.REMOVE5.在SQL语言中,视图对应于数据库的______。
A.外模式B.模式C.内模式D.存储模式6.在下列SQL语句中,______不就是数据定义语句。
A.CREATE TABLEB.DROP VIEWC.CREATE VIEWD.GRANT7.若要除去数据库中已经存在的表S,可用。
A.DELETE TABLE SB.DELETE SC.DROP TABLE SD.DROP S8.若要在基本表S中增加一列CN,可用。
A.ADD TABLE S(CN CHAR(8))B.ADD TABLE S ALTER(CN CHAR(8))C.ALTER TABLE S ADD (CN CHAR(8))D.ALTER TABLE S (ADD CN CHAR(8))9.若要删除关系模式S(Sno, Sname, Ssex, Sage)的Sage属性,可用。
A.DELETE Sage FROM SB.ALTER TABLE S DROP SageC.UPDATE S SageD.ALTER TABLE S ‘Sage’10.设有学生关系S(Sno, Sname, Sage),课程关系C(Cno, Cname),选修关系SC(Sno, Cno, Grade),其中Sno就是学号,Sname就是学生姓名,Sage就是学生年龄,Cno就是课程号,Cname就是课程名,Grade就是成绩。
课后答案(施伯乐)(学生)
1.3 自测题1.3.1 填空题1.数据管理技术的发展,与__________、__________和__________有密切的联系。
2.文件系统中的数据独立性是指__________独立性。
3.文件系统的缺陷是:_________、_________和__________。
4.就信息处理的方式而言,在文件系统阶段,__________处于主导地位,_________只起着服从程序设计需要的作用;而在数据库方式下,_________占据了中心位置。
5.对现实世界进行第一层抽象的模型,称为__________模型;对现实世界进行第二层抽象的模型,称为__________模型。
6.层次模型的数据结构是__________结构;网状模型的数据结构是__________结构;关系模型的数据结构是__________结构;面向对象模型的数据结构之间可以__________。
7.在层次、网状模型中,用__________导航数据;而在关系模型中,用__________导航数据。
8.数据库的三级模式结构是对__________的三个抽象级别。
9.DBMS为应用程序运行时开辟的DB系统缓冲区,主要用于__________和__________。
10.在数据库技术中,编写应用程序的语言仍然是C一类高级语言,这些语言被称为__________语言。
11.在DB的三级模式结构中,数据按__________的描述提供给用户,按__________的描述存储在磁盘中,而__________提供了连接这两级的相对稳定的中间观点,并使得两级中的任何一级的改变都不受另一级的牵制。
12.层次、网状的DML属于________语言,而关系型DML属于_________语言。
13.DBS中存放三级结构定义的DB称为__________。
1.3.2 单项选择题(在备选答案中选出一个正确答案)1.在DBS中,DBMS和OS之间关系是[ ] A.并发运行B.相互调用C.OS调用DBMS D.DBMS调用OS2.在数据库方式下,信息处理中占据中心位置的是[ ] A.磁盘 B.程序 C.数据 D.内存3.DB的三级体系结构是对_________抽象的三个级别。
数据库第三章习题及答案
第3章关系数据库标准语言SQL一、选择题1、SQL语言是的语言,易学习。
A.过程化 B.非过程化 C.格式化 D.导航式答案:B2、SQL语言是语言。
A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库答案:C3、SQL语言具有的功能。
A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵答案:B4、SQL语言具有两种使用方式,分别称为交互式SQL和。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案:C5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。
A.S B.SC,C C.S,SC D.S,C,SC 答案:D6、若用如下的SQL语句创建一个student表:CREATE TABLE student(NO C(4) NOT NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2))可以插入到student表中的是。
A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL)C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23) 答案:B7、当两个子查询的结果时,可以执行并,交,差操作.A.结构完全不一致 B.结构完全一致C.结构部分一致D.主键一致答案:B第8到第10题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理(与应用)
3.3.3 基本表定义
定义基本表
[例6] 建立一个‚课程‛表Course CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY, Cname CHAR(40), 先修课 Cpno CHAR(4) , Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Course(Cno) ); Cpno是外码
数据库原理(与应用)
SQL的数据定义功能: 模式定义、表定义、视图和索引的定义
SQL 的数据定义语句 操 作 对 象 数据库 模式 表 视 图 索 引 创 建 CREATE DATABASE CREATE SCHEMA CREATE TABLE CREATE VIEW CREATE INDEX 操 作 方 式 删 除 DROP DATABASE DROP SCHEMA DROP TABLE DROP VIEW DROP INDEX 修 改
数据库原理(与应用)
[例5] 建立‚学生‛表Student,学号是主码,姓名取值唯一。 CREATE TABLE Student 主码 ( Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) );
Page 11
数据库原理(与应用)
3.2 示例学生数据库
学生-课程模式 S-T :
学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
课程表:Course(Cno,Cname,Cpno,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
Page 12
3.3 数据定义
被参照表是Course 被参照列是Cno
Page 24
3.3.3 基本表定义
定义基本表
[例7] 建立一个‚学生选课‛表SC CREATE TABLE SC (
数据库原理(与应用)
Sno CHAR(9), Cno CHAR(4), Grade SMALLINT, PRIMARY KEY (Sno,Cno), /* 主码由两个属性构成,表级约束*/ FOREIGN KEY (Sno) REFERENCES Student(Sno),
R∞ S
R∞ S
R.B=S.B
A a1 a1 a2 a2
R.B C b1 5 b2 6 b3 8 b3 8
S.B E b1 3 b2 7 b3 10 b3 2
Page 4
数据库原理(与应用)
教学内容
1 SQL概述
2
数据定义语言
Page 5
数据库原理(与应用)
教学目标
重 点
理解SQL语言特点
掌握SQL定义基本表 掌握SQL定义索引
回顾-- 投影运算
数据库原理(与应用)
关系R上的投影是从R中选择若干属性列组成新的关系。记做: 投影之后不仅取消了某些列,还可能取消某些元组。 这是从列的角度进行的运算。 例 πSN,SD (S) 即求得学生关系S在学生姓名和所在系这两个属性上的投影结果
(S)
πA (R) ={ t[A] | t ∈R}
数据库原理(与应用)
3.3.2 模式定义
定义模式
CREATE SCHEMA <模式名>AUTHORIZATION <用户名> 如果没有指定<模式名>,则<模式名>隐含为<dbo>
创建模式的用户必须拥有DBA权限,或获得DBA授予的
CREATE SCHEMA的权限
在SQLServer2008中模式(框架)与用户分离
SQL的特点
SQL的基本概念
Page 8
3.1.1 SQL特点
1.综合统一
数据库原理(与应用)
2.高度非过程化
3.面向集合的操作方式 4.以同一种语法结构提供多种使用方式
5.语言简洁,易学易用
SQL 功 能 数 据 查 询 数 据 定 义 数 据 操 纵 数 据 控 制 动 词 SELECT CREATE, DROP, ALTER INSERT, UPDATE DELETE GRANT, REVOKE
Page 18
3.3.2 模式定义
定义模式
数据库原理(与应用)
[例3] CREATE 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。
ALTER TABLE
Page 13
数据库原理(与应用)
3.3.1 数据库定义
创建数据库
CREATE DATABASE <database_name>
CREATE DATABASE stu_course
• SQL SERVER对变量名的要求
• SQL SERVER中CREATE DATABASE 语句的参数及含义
Page 21
3.3.3 基本表定义
定义基本表
数据库原理(与应用)
常见完整性约束
主码约束: PRIMARY KEY
唯一性约束:UNIQUE
非空值约束:NOT NULL 外键约束: FOREIGN KEY 检查约束: CHECK
Page 22
3.3.3 基本表定义
定义基本表
Page 27
数据库原理(与应用)
3.3.3 基本表定义
定义基本表
CHECK约束2 :
定义Student的时候指定Ssex的值只能是 ‘男’ 或‘女’,指定男 生必须够18岁 CREATE TABLE Student ( Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ Ssex CHAR(2) CHECK(Ssex IN('男','女')), Sage SMALLINT NOT NULl, Sdept CHAR(20), CHECK(Ssex='女' OR Sage>=18) );
在这个空间中可以定义该模式包含的数据库对象,例如基 本表、视图、索引等。
在CREATE SCHEMA中可以接受CREATE TABLE, CREATE VIEW和GRANT子句。 CREATE SCHEMA <模式名>
AUTHORIZATION <用户名> [<表定义子句>|<视图定义子句>|<授权定义子句>]
(S)
σ SD=‘CS’ (S)
学号 学生姓名 所属系名 学生年龄
S# S1 S2 S3 S4 S5 S6 SN A B C D E F SD CS CS MA CI MA CS SA 20 21 19 19 20 22
Page 2
σ SD=‘CS’ (S)
(S’) S# S1 S2 S6 SN A B F SD CS CS CS SA 20 21 22
Page 16
数据库原理(与应用)
3.3.2 模式定义
定义模式
[例1]定义一个学生-课程模式S-T CREATE SCHEMA ST AUTHORIZATION WANG;
为用户WANG定义了一个模式S-T
Page 17
数据库原理(与应用)
Hale Waihona Puke 3.3.2 模式定义定义模式
定义模式实际上定义了一个命名空间
Page 26
数据库原理(与应用)
3.3.3 基本表定义
定义基本表
CHECK约束1 :
定义Course的时候指定Ccredit的值应该在1~4之间:
CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY, Cname CHAR(40) NOT NULL, Cpno CHAR(4) , Ccredit SMALLINT CHECK(Ccredit>=1 AND Ccredit<=4), FOREIGN KEY (Cpno) REFERENCES Course(Cno) );
/* 表级完整性约束条件,Sno是外码,被参照表是Student */
FOREIGN KEY (Cno) REFERENCES Course(Cno)
/* 表级完整性约束条件, Cno是外码,被参照表是Course*/
);
Page 25
数据库原理(与应用)
3.3.3 基本表定义
定义基本表
列约束__空值:
学号 学生姓名 所属系名 学生年龄
S# S1 S2 S3 S4 S5 S6 SN A B C D E F SD CS CS MA CI MA CS SA 20 21 19 19 20 22
πSN,SD (S) SN A B C D E F SD CS CS MA CI MA CS
πSA (S) SA 20 21 19 22
Page 9
数据库原理(与应用)
3.1.2 SQL基本概念
SQL支持关系数据库三级模式结构
SQL
视图1
视图2
外模式
基本表1
基本表2
基本表3
基本表4
模式
存储文件1
存储文件2
内模式
Page 10
数据库原理(与应用)