数据库系统概论第三章关系数据库标准语言SQL
数据库系统概论(第四版)_王珊_萨师煊_chp3-1
课程表:Course(Cno,Cname,Cpno,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
Student表
学 号 Sno
姓 名 Sname
性 别 Ssex
年 龄 Sage
所在系 Sdept
200215121 200215122 200215123 200515125
李勇 刘晨 王敏 张立
查询教师的姓名、职称、应发工资
查询教师的姓名、职称、应发工资 π姓名,职称,应发工资(教师⋈工资)
查询学分大于3的所有课程名称、及其对应的授课 老师姓名和老师所在的系名
查询学分大于3的所有课程名称、及其对应的授课 老师姓名和老师所在的系名 π课程名称,姓名,系名称(σ学分>3(系部⋈教师⋈ 授课⋈ 课程))
3.4.3 嵌套查询
3.4.4 集合查询
3.4.5 Select语句的一般形式
3.4.1 单表查询
查询仅涉及一个表:
一、 选择表中的若干列 二、 选择表中的若干元组 三、 ORDER BY子句 四、 聚集函数 五、 GROUP BY子句
一、 选择表中的若干列
查询指定列
男 女 女 男
20 19 18 19
CS CS MA IS
Course表
课程号 Cno
1 2 3 4 5 6 7
课程名 Cname
数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言
先行课 Cpno
5 1 6 7 6
学分 Ccredit
4 2 4 3 4 2 4
SC表
学号 Sno
语言简洁,易学易用
SQL语言的动词非常少,主要包括:
第3章:关系数据库标准语言SQL
例6:建立一个“课程”表Course. :建立一个“课程” Create table Course (Cno Cpno Char(4) Primary Key, , Char (4) , Cname Char (40) , Ccredit Smallint, , Foreign Key (Cpno) References Course(Cno) );
不论基本表中原来是否已有数据, 不论基本表中原来是否已有数据 , 新增加 的列一律为空值。 的列一律为空值。
例9:将年龄的数据类型改为整型。
ALTER TABLE Student Alter Column Sage Int; ;
修改原有的列定义有可能会破坏已有数据。 修改原有的列定义有可能会破坏已有数据。
group by:此短语将查询结果按某一列或某几 :
列的值进行分组。Having子句用于与group 列的值进行分组。Having子句用于与group by 子句用于与 子句配合使用,用于说明分组条件。 子句配合使用,用于说明分组条件。
查询分类
单表查询 连接查询 嵌套查询 集合查询
CREATE TABLE Student (Sno Ssex Sage Sdept
CHAR(5) NOT NULL UNIQUE,
Sname CHAR(20) UNIQUE, ,
CHAR(1) , INT, , CHAR(15)); ;
修改
Alter table <表名 表名> 表名
Add <新列名> <新列类型> (列宽度)[完整性约束] Drop Column <列名>|<完整性约束名> Alter Column <列名> <列类型> (列宽度) P87例8,例9,例10 , ,
第3章 关系数据库标准语言SQL
3.1 SQL概述
关系数据库语言(Structured Query Language, SQL)是一种标准数据库语言,从对数据库的随机查 询到数据库的管理和程序的设计,几乎无所不能,而 且书写非常简单,使用方便。
3.1.2 SQL的组成
1. 数据定义(主要用于定义数据库的逻辑结构,包括定义基 本表、索引和视图三个部分)
例 对学生表Student,按姓名sname升序建立索引,索引名 为stusname。 CREATE INDEX stusname ON Student (sname); 例 对选修表SC,按学号sno升序和课程号cno降序建立唯一 性索引。索引名为scno。 CREATE UNIQUE INDEX scno ON SC(sno ASC, cno DESC); 例如,要在Student表的Sname列上建立一个聚簇索引,并 按升序排列的命令为: CREATE Cluster INDEX Student ON Student(Sname); 例 在学生表中按学号建立索引。 CREATE UNIQUE INDEX ST ON STUDENTS (SNO ASC)
說明:<表名>是所要建立的基本表的名字。在同一个数据库 中可以建立多个基本表,但表不能同名。一个基本表中至少 由一个或多个属性列组成。对于同一表中的各列要有不同的 <列名>,并要指明<数据类型>等。 在建表时还可以定义有关的完整性约束。完整性约束有两个 层次,即针对表中某一列的【列级完整性约束】和针对表的 【表级完整性约束】(方括号表示任选项)。用户可以根据 实际需要对于每列指明列级完整性约束,如用来指明该列的 值是否允许为空值(NULL)、值是否唯一(UNIQUE)等; 也可以对表指明表级完整性约束,如用来指明该表的主码 (PRIMARYKEY)、外码(FOREGIN KEY)和被参照关系 (REFERENCES)等。这些完整性约束将存入系统的数据 字典中。当用户对表进行数据更新时,由DBMS自动检查用 户操作是否违背所定义的完整性约束。
第3章 关系数据库标准语言SQL
第3章关系数据库标准语言SQL学习目标通过本章的学习,了解SQL语言及其标准的发展、SQL语言的特点及分类、视图相关语句,熟悉SQL语言中各种语句的语法,熟悉SQL数据定义语言(DDL)语句,掌握SQL 语言中数据查询、数据操纵语言的详细语法,并能深刻理解、综合应用,以便为今后深层次的学习打下更加坚实的基础。
3.1 SQL语言概述SQL是结构化查询语言(Structured Query Language)的缩写,是一种介于关系代数与关系演算之间的语言,是一种用来与关系数据库管理系统通信的标准计算机语言。
其功能包括数据查询、数据操纵、数据定义和数据控制4个方面,是一个通用的、功能极强的关系数据库语言。
目前已成为关系数据库的标准语言。
3.1.1 SQL的发展SQL语言是1974年由Boyce和Chamberlin提出的,1975年至1979年IBM公司San Jose Research Laboratory研制的关系数据库管理系统原型系统System R实现了这种语言。
这种语言由于其功能丰富,语言简洁,使用方法灵活,方便易学,受到用户及计算机工业界欢迎,被众多计算机公司和软件公司所采用。
经各公司的不断修改、扩充和完善,SQL语言最终发展成为关系数据库的标准语言。
1986 年由美国国家标准局(ANSI)公布SQL86标准,1987年国际标准化组织(ISO) 也通过了这一标准,作为关系数据库的标准语言。
此后ANSI经过不断完善和发展,1989年ISO第二次公布了SQL标准(SQL89标准),目前新的SQL标准是1992年制定的SQL92国际标准,在1993年获得通过,简称SQL2。
在SQL2基础上,增加了许多新特征,产生了SQL3标准,表示第三代SQL语言,在1999年提出,名字改成SQL:1999,是为了避免千年虫现象在数据库标准命名中出现。
这一标准到目前还没有获得通过,但是好多数据库厂商在其新的数据库产品中都已经开始加入SQL3标准中的一些新内容。
第3章 关系数据库标准语言SQL
6.字符串类型
字符数据类型是使用最多的数据类型之一,它可以用来存储各 种字母、数字符号、特殊符号。
(1)CHAR
(2)NCHAR (3)VARCHAR (4)NVARCHAR
(5) TEXT (6) NTEXT
7.二进制数据类型
(1)BINARY (2)VARBINARY。 (3)IMAGE
3.2.2
组成。
CREATE TABLE D
(Dno CHAR(10),Dept CHAR(15));
【例3-2】建立一个课程表C,由课程号(Cno)、课程名(Cn)、课时
数(Ct)、开课学期(Term)、课程性质(Cx)和课程先行课(Cpno) 组成,其中课程号不能为空。
CREATE TABLE C (Cno CHAR(8) CONSTRAINT cno_cons NOT NULL, Cn CHAR(20), Ct INT DEFAULT 64, Term CHAR(20) NULL,
[CONSTRAINT <约束名>] CHECK (<条件>)
(5)FOREIGN KEY约束(外键约束)
主表
从表
主键
引用
外部键
[CONSTRAINT<约束名>] FOREIGN KEY REFERENCES <主表名> (<列名>[{,<列名>}])
【例3-1】 创建部门表D,由部门号(Dno)和部门(Dept)两个属性
1.定义基本表
CREATE TABLE <表名> (<列名> <数据类型> [列级完整性约束条件] [,<表级完整性约束条件>]);
数据库系统原理第三章关系数据库标准语言-SQL
2019/12/23
数据库系统数据库系统
2
第三章 关系数据库标准语言——SQL
86年10月 成为美国国家标准 87年 国际标准化组织(ISO)采纳为国际标准 89年 ISO推出SQL89 92年 ISO推出SQL2 99年 ISO推出SQL3
二、SQL的主要特点 1、一体化:两方面 集DDL、DML、DCL为一体 实体和联系都是关系,因此每种操作只需一种操作符
Base table B1
Base table Base table
B2
B3
Base table B4
模式
2019/12/23
Stored file S1
Stored file S2
内模式
SQL支持的三级模式结构
数据库系统数据库系统
5
第三章 关系数据库标准语言——SQL
说明: 基本表是独立存在的表。一个关系对应一个表。一个( 或多个)表对应一个存储文件,每个表可有若干索引,这 些索引也可放在存储文件中。
数据操纵: INSERT,DELETE,UPDATE
数据控制: GRANT,REVOKE
6、支持三级模式结构
视图
外模式
基本表(的集合) 模式
存储文件和索引 内模式
2019/12/23
数据库系统数据库系统
4
第三章 关系数据库标准语言——SQL
用户 SQLView V1 V Nhomakorabeaew V2
外模式
2019/12/23
数据库系统数据库系统
3
第三章 关系数据库标准语言——SQL
2、高度非过程化语言 (WHAT HOW )
3、面向集合的操作方式(一次一集合)
第三章 关系数据库标准语言-SQL
3.3 查询
【例5】查询选修了课程的学生人数。 解: SELECT COUNT (DISTINCT S#) FROM SC 【例6】统计C810号课程的学生平均成绩。 解: SELECT AVG G) AVG(G FROM SC =‘C810 C810’; WHERE C# = C810 ;
22
3.3 查询
4.数据分组查询
使用聚合函数可以实现对关系中的所有查 询的元组进行聚合运算,但在实际应用中,经 常要将查询的结果分组,然后再对每个分组进 行统计。这时就可以利用SELECT语句提供的 GROUP BY子句和HAVING短语来实现分组统计。
23
3.3 查询
【例7】查询选修了3门以上4学分课程的学生的学号。 解: SELECT S# FROM SC WHERE CR =‘4’ = 4 GROUP BY S# COUNT( )>3 HAVING COUNT(*)>3;
⑵删除索引
DROP INDEX <索引名>
9
3.2 数据定义
【例1】建立一个学生关系Student Student,由学号Sno 、姓名 Student Sno Sdept五个属 Sname 、性别Ssex 、年龄Sage 、所在系Sdept Ssex Sage Sdept 性组成,其中学号不能为空且值是唯一的。 解:CREATE TABLE Student CREATE (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(2), Sage INT, Sdept CHAR(15));
18
3.3 查询
【例1】查询全体学生的姓名,学号,所在系。 解: SELECT SN,S#,SD SN,S#, S; FROM S; 【例2】查询考试成绩不及格的学生的学号。 解: SELECT DISTINCT S# FROM SC G<60; WHERE G<60; 【例3】查询计算机系或信息系年龄在20岁以下的学生姓名。 解: SELECT SN FROM S WHERE (SD=‘计算机’ OR SD=‘信息’) AND SA<20; (SD SD ) SA<20
数据库原理三章关系数据库标准语言SQL
2)命令方式修改数据库
主要内容: ❖ 增加或删除数据文件 ❖ 改变数据文件的大小和增长方式 ❖ 增加或删除日志文件 ❖ 改变日志文件的大小和增长方式 ❖ 增加或删除文件组
语法格式
Alter database database_name {add file <filespec>[,…n] [to filegroup filegroupname] |add log file <filespec>[,…n] |remove file logical_file_name [with delete] |modify file <filespec> |modify name=new_databasename |add filegroup filegroup_name |remove filegroup filegroup_name |modify filegroup filegroup_name }
▪ 界面方式创建、修改、删除表 ▪ 命令方式创建、修改、删除表
1、命令方式下管理数据库
❖ 创建数据库:CREATE ❖ 修改数据库:ALTER ❖ 删除数据库:DROP
1)命令方式下创建数据库
❖ 在使用T-SQL语句创建数据库中,其核心是CREATE DATABASE 语句。该语句基本语法格式是: CREATE DATABASE database_name /*指定数据库名*/ [ON file子句] /*指定数据库文件和文件组属性 [LOG ON file子句] /*指定日志文件属性*/
CREATE DATABASE student1 ON ( NAME = stu, FILENAME = 'D:\stu.mdf' , SIZE = 3MB , MAXSIZE = 500MB , FILEGROWTH = 10%) LOG ON ( NAME = stu_log, FILENAME = ‘D:\stu_log.ldf’ , SIZE = 1MB ,
第3章 关系数据库标准语言SQL
3.1.1 语言的发展及标准化
1992年,ISO又推出了SQL92标准,也称为SQL2。 目前SQL99(也称为SQL3)在起草中,增加了面向对象的 功能。 结构化查询语言SQL(Structured Query Language)是 一种介于关系代数与关系演算之间的语言,其功能包 括查询、操纵、定义和控制四个方面,是一个通用的、 功能极强的关系数据库语言。目前已成为关系数据库 的标准语言,广泛应用于各种数据库。
3.2.2 创建、修改和删除数据表ຫໍສະໝຸດ 2.修改基本表 一般格式为:
ALTER TABLE table { [ ALTER COLUMN column_name { new_data_type [ ( precision [ , scale ] ) ][ COLLATE < collation_name > ][ NULL | NOT NULL ]| {ADD | DROP } ROWGUIDCOL }]
3.2.2 创建、修改和删除数据表
3、用户自定义的完整性约束规则 CHECK可用于定义用户自定义的完整性约束规则,CHECK 既可用于列约束,也可用于表约束,其语法格式为: [CONSTRAINT <约束名>]CHECK [NOT FOR REPLICATION](<条件>)
3.2.2 创建、修改和删除数据表
3.1.2 SQL语言的基本概念 SQL语言的基本概念
SQL用户 SQL用户
视视 1
视视 2
外模式
基基基 1
基基基 2
基基基 3
模式
存储文件1
存储文件2
存储文件3
内模式
SQL支持的数据库模式
3.1.2 SQL语言的基本概念 SQL语言的基本概念
第3章 关系数据库标准语言SQL
小结:
综合统一 :SQL语言集功能于一体,语言风格统一 高度非过程化 :路径选择及处理过程由系统自动完成 面向集合的操作方式:操作对象都可以是元组的集合 同一语法结构提供两种使用方式:键盘输入/嵌入 语言简捷,易学易用 :九条核心语句,结构化特性
2019年2月12日星期二
2019年2月12日星期二
定义模式(续)
[例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。
2019年2月12日星期二
Course表
课程号 Cno 1 2 3 4 5 6 7 课程名 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言 先行课 Cpno 5 1 6 7 6 学分 Ccredit 4 2 4 3 4 2 4
2019年2月12日星期二
SC表
学号 Sno 200215121 200215121 200215121 200215122 200215122 课程号 Cno 1 2 3 2 3 成绩 Grade 92 85 88 90 80
视图 1
视图 2
外模式
基表 4
基表 1
基表 2
基表 3
模式
内模式
2019年2月12日星期二
存储文件 1
存储文件 2
SQL的基本概念(续)
基本表 本身独立存在的表 SQL中一个关系就对应一个基本表 一个(或多个)基本表对应一个存储文件 一个表可以带若干索引 存储文件 逻辑结构组成了关系数据库的内模式 物理结构是任意的,对用户透明 视图 从一个或几个基本表导出的表 数据库中只存放视图的定义而不存放视图对应的 数据 视图是一个虚表 用户可以在视图上再定义视图 2019年2月12日星期二
第03章-关系数据库标准语言SQL
语句 CREATE
功能 创建数据库或数据库对象
ALTER
修改数据库或数据库对象
DROP
删除数据库或数据库对象
说明 不同数据库对象参数不同 不同数据库对象参数不同 不同数据库对象参数不同
SQL的组成(续) ❖ 数据操纵语言DML(Data Manipulation Language):用于执行对数据库检索和更新。
定义基本表(续)
❖ 表的完整性约束条件 创建表时可指定表的完整性约束条件,也称为约束: 列级完整性约束条件 完整性约束条件涉及到该表的当前一个属性列 表级完整性约束条件 完整性约束条件涉及到该表的一个或多个属性列
➢ RDBMS自动检查对表的操作是否违背表的完整性约束条件
学生表Student
数据库 模式
表 视图
模式 表
索引
定义模式(续)
❖ 基本格式: CREATE SCHEMA [<模式名>] AUTHORIZATION <用户名> CREATE、SCHEMA 、AUTHORIZATION为保留字 保留字习惯使用大写 CREATE SCHEMA 为定义模式的语句 <模式名>为所创建的模式的名称 尖括号表示用户提供的参数 方括号表示参数可选 AUTHORIZATION <用户名> 子句用于指定模式的所有者 <用户名>指定一个用户
❖ 也可以使用带指定参数值的命令创建数据库
3.3 数据定义
3.3.1 模式的定义与删除 3.3.2 基本表的定义、删除与修改 3.3.3 索引的建立与删除
定义模式
❖ 模式(SCHEMA) 定义模式实际上是定义了一个命名空间(或容器)。 在这个空间中可以定义该模式包含的数据库对象 例如基本表、视图、索引、存储过程等。 定义模式能更好的管理数据库中的对象
第三章 关系数据库标准语言 SQL
例6. 查询所有选修过课的学生学号。 SELECT Sno FROM SC ;
第三章 关系数据库标准语言 SQL
第三章 关系数据库标准语言SQL
• SQL(structured query language), 结构化查询语言,是一种介于关系代数与 关系演算之间的语言。 • 目前已成为关系数据库的标准语言。
本章主要内容
• SQL概述 • 数据定义 • 数据查询 • 数据更新 • 视图 • 数据控制 • 嵌入式SQL
• 改变查询结果的列标题
例 查询全体学生的姓名、’YearofBirth’、出生年份和所在 系,要求’YearofBirth’列名设置为BIRTH,小写字母表示 所 有系名,将所在系的列名设置为DEPARTMENT,将姓名 列的列名设置为NAME,出生年份列名设置为BIRTHDAY
SELECT Sname NAME,‘Year of Birth:’ BIRTH , 1996-Sage BIRTHDAY,ISLOWER(Sdept) DEPARTMENT FROM Student ;
• 删除索引 基本格式: DROP INDEX<索引名> 例7 删除Student 表的Stusname索引。 DROP INDEX Stusname;
习题
• 建立一个图书表book,由图书号(定长字符串,长度 20),书名(变长字符串,长度50),作者(变长字 符串,长度30),出版社(变长字符串,长度30), 单价(浮点型 ,FLOAT)构成,其中书名、作者、出 版社单价均不能为空值。 • 建立一个读者表reader,由读者号(定长字符串,长度 10),姓名(定长字符串,长度8),性别(定长字符 串,长度为2),办公电话(定长字符串,长度为8), 部门(变长字符串,长度30)构成,其中,姓名、性 别为非空值,办公电话和部门为空值。 • 建立借阅表loan,由读者号(定长字符串,长度10), 图书号(定长字符串,长度20),借出日期(定长字 符串,长度8),归还日期(定长字符串,长度8),其 中借出日期不能为空值,归还日期为空值。
数据库系统原理关系数据库标准语言SQL课件
述
共二百五十三页
SQL的基本概念(续)
SQL
视图1
视图2
外模式
基本表1
基本表2
基本表3
基本表4 模 式
存储文件1
存储文件2 内模式
共二百五十三页
SQL的基本概念(续)
• 基本表
本身独立存在的表
SQL中一个(yī ɡè)关系就对应一个基本表 一个(或多个)基本表对应一个存储文件 一个表可以带若干索引
DDL、DML、DCL。
共二百五十三页
数据库语言(yǔyán)的组成
1、 数据定义子语言DDL:
包括数据库模式定义和数据库存储结构(jiégòu)与存取方式 的定义。
2、数据操纵子语言DML:
实现对DB的操作,包括查询、插入、删除、修改数据库
中的数据。
3、数据控制子语言DCL:
用于数据保护,包括数据的安全性,完整性,并发
Course 被参照列是Cno
共二百五十三页
学生(xué sheng)选课表SC
[例7] 建立一个“学生(xué sheng)选课”表SC
CREATE TABLE SC (Sno CHAR(9),
Cno CHAR(4), Grade SMALLINT, PRIMARY KEY003
3600页
2003年
最新版本:ISO/IEC 9075(1-4,9-11,13,14):2008
共二百五十三页
3.1.2 SQL的特点(tèdiǎn)
• 1.综合统一---SQL语言集DDL、DML、DCL功能于一 体,可以独立完成数据库生命周期中的全部活动 。
数据库系统概论第三章v3SQL语言
SQL概述(II) 概述( ) 概述
特点
– 综合统一
集数据定义,数据操纵,数据查询和数据控制于一体。 集数据定义,数据操纵,数据查询和数据控制于一体。 单一的结构----关系 带来了数据操作符的统一。 关系, 单一的结构 关系,带来了数据操作符的统一。
– 高度非过程化
用户只需提出“做什么”,无须告诉“怎么做”,不必了 用户只需提出“做什么” 无须告诉“怎么做” 解存取路径。 解存取路径。
单表查询( 单表查询(续IX) )
查询学生总数
– Select Count(*) From Student;
查询选修了课程的学生人数
– Select Count(Distinct Sno) From SC;
计算1号课程的学生平均成绩 计算 号课程的学生平均成绩
– Select AVG(Grade) From SC Where Cno=‘1’;
– Select Sno, Cno From SC Where Grade IS NULL
单表查询( 单表查询(续VII) )
ORDER BY子句可以将查询结果按照一 子句可以将查询结果按照一 个或多个属性列的升序( 个或多个属性列的升序(ASC)或降序 ) (DESC)排序。 )排序。 查询全体学生的情况, 查询全体学生的情况,并按所在系的升 序和年龄的降序排列
SQL数据查询功能 数据查询功能
单表查询 连接查询 嵌套查询 集合查询
单表查询
查询全体学生的姓名与学号
– Select Sname, Sno From Student;
查询全体学生的全部属性
– Select * From Student;
查看全体学生的姓名及其出生年份
第3章_关系数据库标准语言SQL
Sno
Sname Sex
SD
Age
C
Cno 1 2 3 4 5 6 7 Cname 数据库 数学 操作系统 数据结构 数字通信 信息系统 程序设计 (b) 4 7 6 1 2 Pcno Credit 3 3 4 4 3 3 4 2
create table c( cno char(1) primary key, cname varchar2(8), pcno char(1) references c(cno), credit number(1) );
Cno
Cname
Pcno Credit
Cno 1 2 3 4 5 6 7
Cname 数据库 数学 操作系统 数据结构 数字通信 信息系统 程序设计
Pcno Credit 3 4 7 6 1 2 3 4 4 3 3 4 2
insert into c(cno,cname,pcno,credit) value(‘2’,‘数学’,null,4); 数学’ 数学 insert into c(cno,cname,pcno,credit) value(‘7’,‘程序设计’, 2,2); insert into c(cno,cname,pcno,credit) value(‘4’,‘数据结构’,7,3); 数据结构’ 数据结构 insert into c(cno,cname,pcno,credit) value(‘3’,‘操作系统’,4,4); insert into c(cno,cname,pcno,credit) value(‘1’,‘数据库’, 3,3); 数据库’ 数据库 insert into c(cno,cname,pcno,credit) value(‘6’,‘信息系统’,1,4); 信息系统’ 信息系统 insert into c(cno,cname,pcno,credit) value(‘5’,‘数字通信’, 6,3); 数字通信’ 数字通信
第3章 关系数据库标准语言SQL1
3.2数据定义
操作方式 操作对象
创建
表 视图 索引
Create table Create view Create index
删除
Drop table Drop view Drop index
修改
Alter table
3.2.1定义、删除与修改基本表
SQL SERVER的常用数据类型说明: 整型
3.2.1定义、删除与修改基本表
完整性约束分类:
检查约束(check):用于实现域完整性,当对表进行插
入或更新操作时,检查其中的列值必须满足的约束条件。
主键约束(primary key):限制表中指定列的取值,以
保证任何两列在指定列上不存在相同的值,同时主键约束 列上的值不得为Null。
参照约束(foreign key):如果两个表之间由主键和外
3.2.2建立与删除索引
实例 create unique index stu_xh on student(xh) create index xh_kch on cj(xh asc,kch desc) ??对于cj表,以下语句是否正确 create unique index xh_kch on cj(xh asc,kch desc)
第三章 关系数据库标准语言Βιβλιοθήκη SQL概述数据定义
查询 数据更新
视图
数据控制 嵌入式SQL
3.1 SQL 概述
结构化查询语言SQL(Structured Query Language) 是一种介于关系代数与关系演算之间的语言,其功 能包括查询、操纵、定义和控制四个方面,是一个 通用的、功能极强的关系数据库语言。目前已成为 关系数据库的标准语言。
Student(xh,xm,xb,nl,xi) Kc(kch,kcmc,xxkc,xf) Cj(xh,kch,cj)