SQL中的数据定义语言.ppt
《SQL中的数据定义语言.ppt》由会员分享,可在线阅读,更多相关《SQL中的数据定义语言.ppt(55页珍藏版)》请在三一办公上搜索。
1、实用数据库技术,第3章 SQL中的数据定义语言,学习内容,表的定义 视图的定义 索引的定义,创建表,CREATE TABLE语句CREATE TABLE Table_Name(column_name datatype(size),column_name datatype(size),),关系数据类型,字符串数据数字数据时间数据大型对象,字符串数据,固定长度固定长度的字段总是占据等量的内存空间,不管实际上在它们中间存放的数据量有多少。可变长度 而可变长度的字符串只占据它们的内容所消耗的内存量,不管它们的最大尺寸是多少。,字符串数据示例,CREATE TABLE Studios(name CHAR
2、(20),city VARCHAR(50),state CHAR(2),revenue FLOAT),固定长度,可变长度,数字数据,多数数据库都提供至少2种数字数据类型:一种用于整数,另一种用于浮点数。另外还有一些数据库提供更加独特的数字类型。整数浮点数,数字数据示例,CREATE TABLE Studios(name CHAR(20),city VARCHAR(50),state CHAR(2),revenue FLOAT),数字,时间数据,多数关系数据库支持的另一种独特的数据类型是时间数据:日期时间,日期类型示例,CREATE TABLE CHECKUP_HISTORY(CHECKUP_N
3、O INTEGER NOT NULL,ID_NO INTEGER CHECKUP_TYPE VARCHAR(30),CHECKUP_DATE DATE,DOCTOR_NAME VARCHAR(50),FOREIGN KEY(CHECKUP_TYPE)REFERENCES CHECKUP(CHECKUP_TYPE),PRIMARY KEY(CHECKUP_NO),日期类型,指定键,候选键一定不能在表中任何地方复制每个表可指定多个候选键UNIQUE主键每个表中只能指定一个主键 PRIMARY KEY,指定键,外键指明某一列是引用了其他表中某一列,关键字是REFERENCES,候选键,候选键:Can
4、didate Key UNIQUE关键字用来表明一列(或列的集合)一定不能在表中任何地方复制。在符合UNIQUE限制的一组列中输入值之后,再输入任何复制现存的一组值的值都会被数据库所抛弃。,候选键示例,创建具有键的Studios表,CREATE TABLE Studios(studio_id INTEGER,name CHAR(20),city VARCHAR(50),state CHAR(2),UNIQUE(name),指定name为候选键,主键,要想指定主键而不是候选键,可以使用PRIMARY KEY子句。它可以与UNIQUE子句一起用在同一个CREATE TABLE语句中,不过每个表中只
5、能指定一个主键。,主键示例,创建具有键的Studios表,同时具有主关键宇和候选关键字的表。,CREATE TABLE Studios(studio_id INTEGER,name CHAR(20),city VARCHAR(50),state CHAR(2),PRIMARY KEY(studio_id),UNIQUE(name),指定studio_id为主键,主键示例,还可以在定义列的时候同时指定候选键和主键,以此代替在CREATE TABLE语句结尾处单独的子句中创建键。,CREATE TABLE Studios3(studio_id INTEGER PRIMARY KEY,name CH
6、AR(20)UNIQUE,city VARCHAR(50),state CHAR(2),指定studio_id为主键,外部键,外部键也称外键。允许指明某一列是引用了其他表中某一列的外部键。REFERENCES子句用来创建一个表中一组列与表中被参考的候选键之间的关系。,外键示例,从Movies表到Studios表的关系是怎样在列的级别上使用REFERENCES子句建立的,CREATE TABLE Movies(movie_title VARCHAR(40),studio_id INTEGER REFERENCES Studios(studio_id),具有定义在列定义中的关键字的表,列约束,禁止
7、空值 NOT NULL 其他限制 CHECK关键字,禁止空值,当指定列时,将NOT NULL短语添加到列定义中将需要在新的一行插入的同时在该列中输入一个值。这样做还将防止用户在更新表时将该列中的值设置为空值。,禁止空值示例,NOT NULL是怎样用在Studios表中创建的,CREATE TABLE Studios(studio_id INTEGER PRIMARY KEY,name CHAR(20)NOT NULL,city VARCHAR(50)NOT NULL,state CHAR(2)NOT NULL),定义没有空值的Studios表,其他限制,很多数据库还允许对可以输入到具体列中的数
8、据施加其他限制。当限制放在某一列中时,通过INSERT或UPDATE语句插入的值将会根据列约束中的条件来估算。只有在数据满足限制条件的情况下,语句才会成功。CHECK关键字用来创建列的限制。,CHECK示例 1,假设电影数据库中不包括任何预算小于5万美元的电影,CREATE TABLE Movies(movie_titles VARCHAR(40)PRIMARY KEY,studio_id INTEGER,budget FLOAT CHECK(budget 50000),具有列约束的Movies表,CHECK示例 2,CREATE语句包含了名为studio_id_constraint的限制,C
9、REATE TABLE Movies(movie_title VARCHAR(40),studio_id INTEGER,release_date DATE,CONSTRAINT studio_id_constraintCHECK(studio_id 1000),它只允许将studio_id大于1000的影片插入到数据库中,CHECK 总结,使用CHECK子句放置在列中的限制的类型或多或少有些原始。可以使用称为触发器(tirgger)的存储过程的特殊类型在数据插入或修改之前在具体的字段中对其进行更高级的检测。使用触发器还可以处理插入之前被插入的数据。,默认值,在定义表时,另一个可用的选项是将默
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 中的 数据 定义 语言

链接地址:https://www.31ppt.com/p-6524302.html