数据库数据的定义(SQL语言).

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

Cno Cname Credits 列名
SC表
Sno
Cno
课程号
字符串,长度为 6
主键
学生表Student
[例5] 建立“学生”表Student,学号是主码。
CREATE TABLE Student (Sno CHAR(10) PRIMARY KEY,/* 列级完整性 约束条件*/ Sname CHAR(8) , Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(15) );
长整数(也可以写作INTEGER)
短整数 定点数,由p位数字(不包括符号、小数点)组成,小数后面有d 位数字
REAL
Double Precision FLOAT(n) DATE TIME
取决于机器精度的浮点数
取决于机器精度的双精度浮点数 浮点数,精度至少为n位数字 日期,包含年、月、日,格式为YYYY-MM-DD 时间,包含一日的时、分、秒,格式为HH:MM:SS
UNIQUE:限制列取值不重复。 CHECK:限制列的取值范围。 DEFAULT:给定列的默认值。
பைடு நூலகம் 约束定义
① 列取值非空约束
<列名> <类型> NOT NULL 例:sname char(10) NOT NULL
约束定义(续)
② 表主码约束
在定义列时定义主码(仅用于单列主码)
列定义 PRIMARY KEY 例: SNO char(7) PRIMARY KEY
关键字
• 例:将数据库StudentInfo删除 DROP DATABASE StudentInfo
定义基本表
使用SQL语言中的CREATE TABLE语句实现,其一般格式为:
CREATE TABLE <表名>( <列名> <数据类型> [列级完整性约束定义] {, <列名> <数据类型> [列级完整性约束定 义] … } [, 表级完整性约束定义 ] )
ALTER TABLE
数据库的定义
数据库定义的语法格式: CREATE DATABASE <数据库名>
关键字
• 例:创建一个学生选课数据库,取名为StudentInfo CREATE DATABASE StudentInfo
数据库的删除
数据库删除的语法格式: DROP DATABASE <数据库名>
主码
课程表Course
[例6] 建立一个“课程”表Course
CREATE TABLE Course ( Cno CHAR(6) PRIMARY KEY, Cname CHAR(20), Ccredit SMALLINT, );
学生选课表SC
[例7] 建立一个“学生选课”表SC
CREATE TABLE SC (Sno CHAR(10), Cno CHAR(6), Grade SMALLINT, PRIMARY KEY (Sno,Cno), );
数据定义
SQL的数据定义功能: 模式定义、表定义、视图和索引的定义
表 3.2 SQL 的数据定义语句 操 作 对 象 数据库 模式 表 视 图 索 引 操 作 方 创 建 CREATE DATABASE CREATE SCHEMA CREATE TABLE CREATE VIEW CREATE INDEX 式 修 改 删 除 DROP DATABASE DROP SCHEMA DROP TABLE DROP VIEW DROP INDEX
在定义完列时定义主码(用于单列或多列主 码,表级约束)
PRIMARY KEY (<列名序列>)
例: PRIMARY KEY(SNO) PRIMARY KEY(SNO,CNO)
约束定义(续)
③外码引用约束
指明本表外码列引用的表及表中的主码列。
[ FOREIGN KEY (<本表列名>)] REFERENCES <外表名>(<外表主码列名>) 例: FOREIGN KEY (sno) REFERENCES 学生表(sno)
二、数据类型
SQL中域的概念用数据类型来实现 定义表的属性时 需要指明其数据类型及长度 选用哪种数据类型
取值范围 要做哪些运算
二、数据类型
数据类型 CHAR(n) VARCHAR(n) 长度为n的定长字符串 最大长度为n的变长字符串 含义
INT
SMALLINT NUMERIC(p,d)
第二章 关系数据库
1 关系数据结构及形式化定义
2 数据的定义(SQL语言)
3 关系的完整性
4 关系操作
关系数据的定义
SQL语言 数据的定义
SQL概述
SQL(Structured Query Language)
结构化查询语言,是关系数据库的标准语言 SQL是一个通用的、功能极强的关系数据库 语言
SQL语言功能概述
四部分:数据定义功能、数据控制功能、数据查询功 能和数据操纵功能。
表 3.1 SQL 语言的动词 SQL 功 能 数 据 查 询 数 据 定 义 数 据 操 纵 数 据 控 制 动 词 SELECT CREATE, DROP, ALTER INSERT,UPDATE DELETE GRANT,REVOKE
students表
Sname Ssex
Sage
Sdept 列名
年龄
所在系 说明 课程号 课程名 学分 说明 学号
整数
字符串,长度为15 数据类型 字符串,长度为 6 字符串,长度为 20 整数 数据类型 字符串,长度为 10
允许空值
非空值 约束说明 主键 非空值 允许为空值 约束说明 主键
Courses表
关系模式
课程号
课程名 课程 学分
选课
成绩
学生
学号 姓名 性别 年龄 系别
关系模式
学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,学分) 选课(学号,课程号,成绩)
关系
列名 Sno 说明 学号 姓名 性别 数据类型 字符串,长度为10 字符串,长度为8 字符串,长度为1 约束说明 主键 非空值 非空值
如果完整性约束条件涉及到该表的多个属性列, 则必须定义在表级上,否则既可以定义在列级 也可以定义在表级。
在列级完整性约束定义处可以定义的约 束
NOT NULL:限制列取值非空。 PRIMARY KEY:指定本列为主码。 FOREIGN KEY:定义本列为引用其他表的外码。 使用形式为:
[FOREIGN KEY(<外码列名>)] REFERENCES <外表 名>(<外表列名> )
相关文档
最新文档