关系模型概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
修改
ALTER TABLE
视图
索引
NEXT
第三章 关系数据库标准语言SQL
3.2 数据定义
CREATE TABLE语句
格式:
返回
CREATE TABLE <表名> (<列名><数据类型>[<列完整性约束条 件>][,<列名><数据类型>[<列完整性约束条件>]…][,<表完整性约 束条件>] );
功能:显示(多个)表和视图的查询结果 例:若学生选课数据库包括三个表,模式结构为:
Student (Sno, Sname, Ssex, Sage, Sdept) Course (Cno, Cname, Cpno, Ccredit) SC (Sno, Cno, Grade)
第三章 关系数据库标准语言SQL
功能:建立一个基本表 例1:建立一个学生表
CREATE TABLE Student(Sno CHAR(5) NOT NULL UNIQUE,Sname CHAR(20) UNIQUE,Ssex CHAR(1),Sage INT,Sdept CHAR(15));
第三章 关系数据库标准语言SQL
3.2 数据定义
例3:修改学生表的“年龄”属性类型为半字长整数
ALTER TABLE Student MODIFY Sage SMALLINT;
例4:删除学生表“姓名”来自百度文库性列取唯一值的约束
ALTER TABLE Student DROP UNIQUE(Sname);
第三章 关系数据库标准语言SQL
3.2 数据定义
第三章 关系数据库标准语言SQL
3.1 SQL概述
二、SQL特点
1. 综合统一 2. 3. 4. 5.
集DDL、DML、DCL于一体
高度非过程化 一个语句完成一个特定功能 面向集合的操作方式 两种使用环境 简捷、易学、易用
第三章 关系数据库标准语言SQL
3.1 SQL概述
三、SQL概念
SQL
视图1
3.3 查询
1.简单查询——单表查询
例1:查询学生的学号和姓名 SELECT Sno, Sname П Sno ,Sname(Student) FROM Student; 例2:查询学生的情况 П Sno,Sname,Ssex,Sage,Sdept(Student) SELECT * FROM Student; 例3:查询学生姓名和出生年份 SELECT Sname,2002-Sage FROM Student; 关系代数无法表示。
DROP INDEX Stuno;
注意:删除基本表已建立的索引不会影响其他数据、 和其他索引!!
第三章 关系数据库标准语言SQL
3.3 查询
SELECT-FROM语句
常用格式:
SELECT [ALL|DISTINCT] <属性表达式>[,<属性表达式>…] FROM <表名或视图名>[,<表名或视图名>…] [WHERE <条件>] [GROUP BY <属性1>[HAVING<条件>]] [ORDER BY <属性2> [ASC|DEC]];
第三章 关系数据库标准语言 SQL
第三章 关系数据库标准语言SQL
3.1 SQL概述
一、发展历史
74年,由Boyce和Chamberlin提出 70年代末, IBM在System R上实现 86年10月,ANSI的X3H2批准为美国标准 87年,ISO批准国际标准 目前, ANSI公布的最新标准是SQL-92
ALTER TABLE语句
格式:
返回
ALTER TABLE <表名> [ADD <新列名><数据类型>[<列完整性约 束>]] [DROP<列完整性约束名>][MODIFY <列名><数据类型>];
功能:修改已建的基本表 例2:向学生表增加“入学时间”属性列
ALTER TABLE Student ADD Scome DATE;
返回
ON<表名>
功能:为已建的基本表建立索引 例6:为学生表建立按学号的索引Stuno
CREATE UNIQUE INDEX Stuno ON Student(Sno);
第三章 关系数据库标准语言SQL
3.2 数据定义
DROP INDEX语句
格式:
DROP INDEX <索引名>;
返回
功能:将已建的索引删除 例7:将学生表已建立的索引Stuno删除
DROP TABLE语句
格式:
DROP TABLE <表名>;
返回
功能:删除已建的基本表 例5:删除学生表
DROP TABLE Student;
注意:一旦删除基本表,此表上建立的索引、视图 将自动删除!!
第三章 关系数据库标准语言SQL
3.2 数据定义
CREATE INDEX语句
格式:
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> (<列名>[<次序>] [,<列名>[<次序>]…]);
视图2
外模式
基本表4
基本表1
基本表2
基本表3
模式
内模式
存储文件1
存储文件2
第三章 关系数据库标准语言SQL
3.2 数据定义
SQL数据定义语句
操作对象 表 操作方式 创建
CREATE TABLE CREATE VIEW CREATE INDEX
删除
DROP TABLE DROP VIEW DROP INDEX
П Sname,Sage(σSage<20 (Student))
第三章 关系数据库标准语言SQL
3. 3 查询
查询条件运算符
查询条件 比 较 谓词
=, >, <, >=, <=, !=, <>, !>, !< BETWEEN AND, NOT BETWEEN AND IN, NOT IN LIKE, NOT LIKE IS NULL, IS NOT NULL
示例(WHERE后)
Sdept=‘CS’ Sage <> 20 Sage between 18 and 21 Sdept in (‘CS’,’IS’,’MA’) Sname like ‘张’ Sno IS NULL Sname like ‘张’ AND Sdept in (‘CS’,’IS’,’MA’)
第三章 关系数据库标准语言SQL
3.3 查询
例4:查询选修课程的学生学号 SELECT Sno П Sno(σGrade≠ ‘’ (Student)) FROM SC; 例4-1:查询选修课程的学生学号 SELECT DISTINCT Sno FROM SC; 例5:查询20岁以下的学生姓名及年龄 SELECT Sname,Sage FROM Student WHRER Sage<20;