文档详情

华科数据库系统原理第三章.pptx

发布:2017-07-04约1.13万字共106页下载文档
文本预览下载声明
第3章 关系数据库标准语言SQL;4、QBE(Qnery By Example) ① 研制:IBM(1975年提出,1978年IBM370上实现) ② 特征:域关系演算语言(表格界面) 5、SQL(Structured Query Language) ① 研制:IBM,… ② 特征:介于关系代数与关系演算之间的语言 ;SQL发展里程碑;1982;1992;SQL的产生;SQL标准;SQL-89;SQL92;SQL3;3.2 SQL 3.2.1 概述 1、特点 ① 一体化 DDL—— Data Description Language DML——Data Manipulate Language DCL—— Data Control Language (三种功能可在系统不间断的情况下交替执行; 风格统一) ② 两种使用方式(交互、嵌入);12;13;交互式1;交互式2;嵌入式 Main(){ ... exec sql begin declare section; char co[10]; int id; exec sql end declare section; … exec sql select company_name from customer where id = :id into co; … };③统一结构 ④高度非过程化 用户无需了解与涉及存取路径 ⑤语言简洁(方便易学) 标准动词7个:create, alter,select, delete, update, insert, grant 扩充2个:drop、revoke;基本术语;基本术语(续);2、功能 ① 定义;② 查询;③ 更新;④ 控制(安全、完整性、一致性) DDL DML DCL 3、支持三级模式;3.2.2 数据库定义与维护;例子:创建课程种类表(类型编号、类型名称), CREATE TABLE [dbo].[kczlb] ( [zlbh] [char] (2) NOT NULL PRIMARY KEY, [kczlmc] [char] (2) NOT NULL UNIQUE ) 这里主码只含有一个属性,可以直接在表的定义语句中指定该属性为主码。;例子:创建关系“教室表”,拥有属性:“教室编号、教室名称、教学楼编号、教室容量、教室资源配置、使用对象类型”。 CREATE TABLE [dbo].[js] ( [jsbh] [char] (5) NOT NULL , [jsmc] [varchar] (30) NULL , [jxlbh] [char] (4) NOT NULL , [jsrl] [int] NOT NULL , [jszypz] [char] (2) NOT NULL , [sydxlx] [char] (2) NULL ) ;例:定义选课关系SC: 学生编号S#, char 4; 课程编号C#, char 4, 成绩Grade smallint; 主关键字:S#,C#; 外键: 关系S的主码S#, 关系C的主码C#; 约束:0=成绩=100 或者为Null;三、表修改 1、格式(增加列) ALTER Table 表名 add 列名 类型 例:ALTER Table car add [emission] [float] NOT NULL; 例:ALTER Table student add 性别 char(2) 2、功能:给基本表增加一个属性 3、说明:(可增加多个属性);例:BEGIN TRANSACTION; ALTER Table student add [city] [varchar] (20) NOT NULL , [province] [varchar] (20) NOT NULL ; GO; COMMIT;;修改表(删除列);修改表(续);一个复杂的例子(涉及到已有的数据) 将教室表中的教室名称列从30位变长字符串改为20位变长字符串。 BEGIN TRANSACTION;--开始事务 CREATE TABLE dbo.Tmp_js--创建临时表 ( [jsbh] [char] (5) NOT NULL , [jsmc] [varchar] (20) NULL , [jxlbh] [char] (4) NOT NULL , [jsrl] [int] NOT NULL , [jszypz] [char] (2) NOT NULL , [sydxlx] [char] (2) NULL );
显示全部
相似文档