SQL-东北林业大学

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库系统原理
1.9
王霓虹(wnh@mail.nefu..edu.cn)
4.2 学生-课程数据库
Student关系:
Sno
95001 Sname 李勇 刘晨 王名 张立 Ssex 男 女 女 男 Sage 20 19 18 19 Sdept CS IS MA IS
95002
05003 95004
CASCADE(级联):表示在删除模式的同时把
RESTRICT(限制):表示如果该模式已经定
义了下属的数据库对象(如表、视图等) ,则拒绝该
数据库系统原理
1.17
王霓虹(wnh@mail.nefu..edu.cn)
4.3.2 基本表的定义、删除与修改
一、定义基本表 列 完整性约束
AUTHORIZATION WANG ;
该语句没有指定模式名,模式名隐含为用
户名WANG。
数据库系统原理
1.15
王霓虹(wnh@mail.nefu..edu.cn)
模式的定义(续)
用户可以在创建模式的同时在这个模式中
进一步创建基本表、视图、定义授权。
例3: CREATE SCHEMA
AUTHORIZATION
Create Table Student(
S# Varchar2(10) Constraint PK Primary Key, Sname Varchar2(20) NOT NULL, Age Number(3), Sex Char(1) DEFAULT ‘F’ ) NOT NULL表示 不允许空值,实 际上是Check约 束的简化
言,是介于关系代数与关系演算之间的语言。
SQL语言是1974年由Boyce和Chamberlin提出的。 1975年至1979年IBM公司研制的关系数据库管理系统
SYSTEM R上实现了这种语言。
第一个SQL标准是1986年10月由美国国家标准局
(ANSI)公布的,该标准为SQL一86。
第四章 关系数据库标准语言 SQL
数据库系统原理
王霓虹(wnh@mail.nefu.edu.cn)
本章主要内容
4.1 4.2 4.3 4.4 4.5 4.6
SQL 概述 数据定义 数据操纵 数据查询 数据控制 视图
数据库系统原理
1.2
王霓虹(wnh@mail.nefu..edu.cn)
1.11
王霓虹(wnh@mail.nefu..edu.cn)
学生-课程数据库
SC关系:
Sno 95001 95001 95001 95002 95002 Cno 1 2 Grade
92 95
3
2 3
88
90 80
数据库系统原理
1.12
王霓虹(wnh@mail.nefu..edu.cn)
4.3
Sname Varchar2(20), Age Number(3) Constraint CK_S Check (age>14 and age<100), Sex Char(1), Constraint UQ_S Unique(Sname), Constraint CK_SS Check (Sex IN (‘M’,’F’)) )
数据库系统原理
1.23
王霓虹(wnh@mail.nefu..edu.cn)
A)默认值
当往表中插入一条新记录时,如果某列上有
默认值,并且新记录中未指定该列的值,则 自动以默认值填充。
Insert Into Student(s#, sname, age) Values(‘001’ , ’John’, 20) 插入一条 新记录
例: S# char(n) Constraint PK_Student Primary Key S# char(n) Primary Key
数据库系统原理
1.25
王霓虹(wnh@mail.nefu..edu.cn)
定义约束
列约束:在每个列后定义,可以有多个约
束子句
不能定义多个列上的约束
表约束:在全部列定义完成后定义,可以

Sname Varchar2(20), Age Number(3),
语句功能:定义基本表的表名及其结 构。 Sex Char(1))
数据库系统原理
1.22
王霓虹(wnh@mail.nefu..edu.cn)
定义列
完整格式
<列名> <列类型> [ DEFAULT <默认值>] [ [ NOT ] NULL] [<列约束>]
S# 001
Sname John
Age 20
Sex F
自动以默认 值填充
数据库系统原理
1.24
王霓虹(wnh@mail.nefu..edu.cn)
B)列约束
必须跟在每个列定义后定义
只对当前列有效
可以使用四种类型的约束
(主键、唯一键、外键、检查约束)
格式 [Constraint <约束名>] <约束类型>
这些约束既可以定义在列上, 也可以定义在基本表之上
唯一键约束(Unique)
列约束:在每列后定义,只 对当前列有效
外键约束(Foreign Key)
参照完整性
表约束:在全部列定义后定 义,可定义多个列上的约束
检查约束(Check)
用户自定义完整性
数据库系统原理
1.21
王霓虹(wnh@mail.nefu..edu.cn)
限,或者获得了DBA授予的CREATE SCHEMA权限。
数据库系统原理
1.14
王霓虹(wnh@mail.nefu..edu.cn)
模式的定义(续)
例1:定义一个学生-课程模式S-T
CREATE SCHEMA S-T AUTHORIZATION WANG ;
为wang定义了一个模式S-T 例2:CREATE SCHEMA
Create View/Drop View:视图操作 Create Index/Drop Index:索引操作 Insert
DML
Delete Select Update 记录操作
SQL
DCL
Grant
Revoke
权限管理
嵌入式SQL的使用规 定
数据库系统原理
1.7
王霓虹(wnh@mail.nefu..edu.cn)
数据库系统原理
1.10
王霓虹(wnh@mail.nefu..edu.cn)
学生-课程数据库
Course关系:
Cno
1 2 3 4 5 6 7 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言 1 Cpno 5 Ccerdit 4 2 4 3 4 2
6
7
6
4
数据库系统原理
类型与ANSI 有一定的差 别
若使用ANSI
Float
Double Real 日期型 Date Time
数据库系统原理
1.20
类型, Oracle自动 转换为 Oracle类型
Date
王霓虹(wnh@mail.nefu..edu.cn)
完整性约束
主键约束(Primary Key)
实体完整性
1.19
王霓虹(wnh@mail.nefu..edu.cn)
列(续)
ANSI / ISOHale Waihona Puke Baidu字符型 Char(n) Oracle Char(n) Varchar2(n) Number
Oracle数据
或Character(n)
Character Varying(n) 或Char Varying(n) 数值型 Numeric Decimal Integer Int
3、SQL的主要特点(续1)
三.面向集合的操作方式
SQL语言采用集合操作方式
四.以同一种语法结构提供多种使用方式
SQL语言既是自含式语言,又是嵌入式语言
五.语言简洁,易学易用
核心功能只用了9个动词:CREATE,DROP, ALTER,SELECT,INSERT,UPDATE, DELETE,GRANT,REVOKE
1989年第二次公布SQL标准(SQL一89), 1992年又公布了SQL一92标准。 1999年又公布了新的SQL标准:SQL3。
数据库系统原理
1.4
王霓虹(wnh@mail.nefu..edu.cn)
4.1.2 SQL语言的基本概念
SQL语言支持关系数据库三级模式结构,
其中:外模式对应于视图(view)和部分基本表 (basetable) 模式对应于基本表
4.1 SQL概述
SQL简介 SQL的发展历程
SQL的主要特点
SQL数据库中的术语
SQL数据库的三级体系结构
SQL的组成
数据库系统原理
1.3
王霓虹(wnh@mail.nefu..edu.cn)
4.1 SQL的产生和发展
SQL(Structure Query Language)是结构化查询语
数据库系统原理
1.13
王霓虹(wnh@mail.nefu..edu.cn)
4.3.1 模式的定义和删除
一、定义模式 语句:CREATE SCHEMA <模式名>
AUTHORIZATION <用户名> [<表定义子 句>] |[<视图定义子句>] |[<授权定义子句 >]
注意:调用该命令的用户必须具备DBA权
有多个约束子句
多个列上的约束必须使用表约束 单列上的约束可以用列约束,也可用表约束
四种约束都可以作为列约束或表约束
数据库系统原理
1.26
王霓虹(wnh@mail.nefu..edu.cn)
A)列约束和表约束举例
Create Table Student( S# Varchar2(10) Constraint PK_S Primary Key,
数据定义——DDL
关系数据库的基本对象是表、视图和索引。
因此SQL的数据定义功能包括定义模式、定义 表、定义视图和定义索引 。
由于视图是基于基本表的虚表,索引是依附
于基本表的,因此SQL通常不提供修改视图定 义和修改索引定义的操作。用户如果想修改 视图定义或索引定义,只能先将它们删除掉 ,然后再重建 。
内模式对应于存储文件
基本表是本身独立存在的表,在SQL中一个关系
对应一个表
视图是从基本表或其他视图中导出的表,它本身
不独立存储在数据库中 ,视图是一个虚表。
数据库系统原理
1.5
王霓虹(wnh@mail.nefu..edu.cn)
SQL数据库的三级体系结构(续1)
SQL数据库:支持SQL语言的关系数据库
SQL用户 外模式 关系子模式 视图(View)
概念模式
关系模式
基本表
内模式
存储模式 关系数据库
1.6
文件
SQL数据库
王霓虹(wnh@mail.nefu..edu.cn)
ANSI
数据库系统原理
4.1.3 SQL的组成
DDL
Create Table/Alter Table/Drop Table:定义.修改.删除基 本表
WANG
CREATE TABLE TAB1(COL INT,
数据库系统原理
COL2 INT, COL3 CHAR(20), COL4 NUMBER(10,3) );
1.16
王霓虹(wnh@mail.nefu..edu.cn)
二、删除模式
语句为:
DROP SCHEMA <模式名> <CASCADE | RESTRICT> 该模式中的所有的数据库对象全部一起删 除。
4.1.4 SQL的主要特点
一.综合统一
数据库的主要功能是通过数据库支持的 数据语言来实现的。
SQL语言则集 (DDL)、(DML)、 (DCL)、(DSDL)的功能于一体。
二.高度非过程化
用户只需提出"做什么",而不必指明" 怎么做"
数据库系统原理
1.8
王霓虹(wnh@mail.nefu..edu.cn)
数据库系统原理
1.18
王霓虹(wnh@mail.nefu..edu.cn)
二、列
列名 字母开头,可含字母、数字、#、$、_ <=30字符
列类型 Char(n) 【定长字符串类型】 Varchar2(n) 【可变长字符串类型】 Number 【数值型】 Date 【日期时间型】 ……
数据库系统原理
创建基本表
基本表构成:表名,列和约束 Create Table <基本表名>(
在SQL数据库中, 不一定必须定 [列约束1], 义主键,这与 关系模型有差 别
列名1 列类型1 列名2 列类型2 [列约束2], …… Create Table Student( [表约束] S# Varchar2(10) Constraint PK Primary Key,
数据库系统原理
1.27
王霓虹(wnh@mail.nefu..edu.cn)
B)Primary Key约束
定义主键:不许有空值,也不可重复 一个表只能包含一个主键约束
当一个表的主关键字由多个列构成时,需
相关文档
最新文档