数据库 第3章 结构化查询语言

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

Int
Varchar(30) char(35) Number DateTime DateTime
主键
否 外键 否 否 否

是 是 是 否 否
项目编号
项目名称 部门 最长工期 开始日期 结束日期
参照完整性约束 ASSIGNMENT表结构 列名
ProjectID EmployeeNumber HoursWorked Int Int Numeric(6,2)
6. 游标控制语言
游标控制语言(Cursor Control Language,CCL)是SQL语言 中用于数据库游标操作的语句。主要语句如下: DECLARE CURSOR – 定义游标 FETCH INTO – 提交游标数据 CLOSE CURSOR– 关闭游标
8
数据库原理及应用
电子科技大学
数据库中如何设计?
如果要删除EMPLOYEE中的某个行,若该行连接有ASSIGNMENT的外键值, 则禁止对EMPLOYEE行执行删除操作。在创建表时定义参照完整性约束。 如果要删除PROJECT中的某个行,则ASSIGNMENT中连接到PROJECT的对 应行数据也将随之被删除。在创建表时定义级联删除约束。 问题:上述项目数据库设计如何通过SQL实现?
20理数据库ProjectDB,其SQL语句如下:
CREATE DATABASE ProjectDB
2
数据库原理及应用
电子科技大学
三、SQL应用情况
绝大多数主流的关系型数据库管理系统采用了SQL标准语言实现数据库 操作 Oracle Sybase DB2 Microsoft SQL Server Access MySql 。。。 其中一些厂商数据库管理系统对SQL语句进行了扩展开发,如Sybase 、 Microsoft SQL Server将操作语言扩展为Transaction-SQL;Oracle将 操作语言扩展为PL/SQL。
7
数据库原理及应用
电子科技大学
5. 事务处理语言
事务处理语言(Transaction Process Language,TPL)是SQL 语言中用于数据库内部事务处理的语句。主要语句如下: BEGIN TRANSACTION – 开始事务 COMMIT – 提交事务 ROLLBACK – 回滚事务
5
数据库原理及应用
电子科技大学
2. 数据定义语言 数据定义语言(Data Definition Language,DDL)是SQL语 言中用于创建或删除数据库对象的语句。这类语句也可以定 义数据表对象的主外键、索引、约束等要素。主要语句如下: CREATE DATABASE - 创建新数据库 DROP DATABASE – 删除数据库 ALTER DATABASE - 修改数据库属性 CREATE TABLE - 创建新表 ALTER TABLE – 修改数据库表结构 DROP TABLE - 删除表 CREATE INDEX - 创建索引 DROP INDEX - 删除索引
是否非空
备注
部门名称 部门简介 办公室编号 办公电话
列名
EmployeeNumber
Name Department Phone Email
类型
Int
Varchar(30) char(35) char(12) Varchar(100)
雇员(EMPLOYEE)表结构 键 是否非空
主键
否 外键 否 否
备注
类型
主键 否 外键 否 否

备注
项目编号 项目名称 部门 最长工期 开始日期
EndDate
DateTime


结束日期
15
数据库原理及应用
电子科技大学
PROJECT表结构
列名 类型 键 是否非空 备注
ProjectID
Name Department MaxHours StartDate EndDate
OfficePhone
char(12)


办公电话
参照完整性约束 EMPLOYEE表
列名
EmployeeNumber Name Int Varchar(30)
类型
主键 否

是 是
是否非空
姓名
备注
代理键,雇员编号
Department
Phone Email
char(35)
char(12) Varchar(100)
1
数据库原理及应用
电子科技大学
3.1 SQL简介
一、基本概念
SQL( Structured Query Language,结构化查询语言 )是一种对数 据库进行访问的数据操作子语言。其SQL语句执行命令完成对数据库 访问操作。
二、SQL发展
20世纪70年代由IBM公司开发 1979年ORACLE公司首先提供商用的SQL 1986 ANSI的数据库委员会批准了SQL作为关系型数据库语言的美 国标准。 1987年国际标准化组织(ISO)将其采纳为国际标准SQL86。 1989年更新成为国际标准SQL-89 1992年更新成为国际标准SQL-92(或称SQL2) 1999年更新成为国际标准SQL-99(或称SQL3) 2008年更新成为国际标准SQL:2008
SQL Server的数据类型见表3-2所示
MySQL的数据类型见表3-3所示
9
数据库原理及应用
电子科技大学
3.2 数据定义语句DDL
一、数据库案例 某企业希望通过创建一个工程项目管理数据库,实现对项目信息 管理。
工程项目管理数据库 部门信息 雇员信息 项目信息
任务信息
数据库系统任务: 创建项目数据库ProjectDB 创建数据库表对象及其约束 完成数据库表的数据插入、修改、删除以及查询处理
6
数据库原理及应用
电子科技大学
3. 数据查询语言
数据查询语言(Data Query Language,DQL)是SQL语言中用 于对数据库进行查询的语句。该语句只有Select一个语句, 但其变化范型较多。
4. 数据控制语言
数据控制语言(Data Control Language,DCL)是SQL语言中 用于对数据访问权进行控制的语句。主要语句如下: GRANT – 授予用户对数据对象的权限 DENY – 拒绝授予用户对数据对象的权限 REVOKE – 撤消用户对数据对象的权限
第三章 结构化查询语言
数据库原理及应用
电子科技大学
【学习目标】
• 了解结构化查询语言SQL操作原理 • 学习数据库SQL操作语句使用 • 掌握数据库对象创建 • 掌握数据库表访问操纵 • 掌握多表关联数据查询 • 掌握数据库对象修改与删除 • 掌握数据库视图使用 • 掌握SQL Server数据库管理工具使用
17
数据库原理及应用
电子科技大学
二、数据库创建语句
1. 语句基本格式
CREATE DATABASE <数据库名> 其中CREATE DATABASE 为创建数据库语句的关键词,<数据库名> 为被创建数据库的标识符名称。
例 创建一个人力资源管理数据库HR,其SQL语句如下: CREATE DATABASE HR;
类型

主键,外键 主键,外键 否 是 是 否
是否非空
备注
复合键,项目编号 复合键,雇员编号 工作时数
16
数据库原理及应用
电子科技大学
3. 业务规则设计
如果某雇员离职,则企业将删除该雇员数据,但前提是必须先有人 接替这个雇员工作,然后才允许删除该雇员数据。 如果企业取消某个项目,将删除该项目数据。同时,也将删除该项 目所下属的任务数据。
代理键,雇员编号
姓名 部门 电话 邮件
11

是 是 是 是
数据库原理及应用
电子科技大学
项目(PROJECT)表结构
列名
ProjectID Name Department MaxHours StartDate EndDate Int Varchar(30) char(35) Number DateTime DateTime
是否非空
备注
部门名称 部门简介 办公室编号 办公电话
PROJECT表结构 列名
ProjectID Name Department MaxHours StartDate Int Varchar(30) char(35) Numeric(6,2) DateTime
参照完整性约束 是否非空
是 是 是 是 否
类型

主键,外键 主键,外键 否 是 是 否
是否非空
备注
复合键,项目编号 复合键,雇员编号 工作时数
13
数据库原理及应用
电子科技大学
2. 数据库表关联设计
DEPARTMENT表
列名 DepartmentName DepartIntro OfficeNumber 类型 char(35) Varchar(200) char(15) 主键 否 否 键 是 是 是 是否非空 备注 部门名称 部门简介 办公室编号
18
数据库原理及应用
电子科技大学
实践操作: 在SQL Server中,创建第一个数据库HR。
数据库创建语句
创建的数据库
执行结果状态
19
数据库原理及应用
电子科技大学
2. 语句完整格式
CREATE DATABASE <数据库名> on primary ( -- 默认属于primary文件组 name=‘databasename_data’,-- 主数据文件的逻辑名称 filename=‘D:\databasename_data.mdf’, -- 主数据文件的物理名称 size=数值MB, --主数据文件的初始大小 maxsize=数值MB, -- 主数据文件增长的最大值 filegrowth=数值%--主数据文件的增长率 ) log on (/*--日志文件的具体描述,各参数含义同上--*/ name='databasename_log', -- 日志文件的逻辑名称 filename='所存目录:\databasename_log.ldf', -- 日志文件的物理名称 size=数值MB, --日志文件的初始大小 filegrowth=数值MB--日志文件的增长值 );
六、SQL语言的数据类型
1. 基本数据类型 字符:CHAR、VARCHAR、TEXT
整数:SMALLINT、INTEGER 浮点数:NUMBER(n,d)、FLOAT(n,d)
日期:DATE、DATETIME
货币:MONEY 2. 不同数据库所支持数据类型 Access的数据类型见表3-1所示
外键
否 否

是 是
部门
电话 邮件
14
数据库原理及应用
电子科技大学
DEPARTMENT表结构
列名
DepartmentName DepartIntro OfficeNumber OfficePhone
类型
char(35) Varchar(30) char(15) char(12) 主键 否 否 否

是 是 是 是
提交SQL 返回结果
DBMS
(执行SQL) I/O 数据
数据库
4
数据库原理及应用
电子科技大学
五、SQL语言语句类别
1. 数据操纵语言 数据操纵语言(Data Manipulation Language,DML)是SQL语 言中用于增添、修改、删除数据的语句,主要语句如下: INSERT - 向数据库表中插入数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据
类型
主键 否 外键 否 否 否

是 是 是 是 否 否
是否非空
备注
项目编号 项目名称 部门 最长工时 开始日期 结束日期
12
数据库原理及应用
电子科技大学
任务(ASSIGNMENT)表结构
列名
ProjectID EmployeeNumber HoursWorked Int Int Numeric(6,2)
10
数据库原理及应用
电子科技大学
1. 数据库表结构设计
列名
DepartmentName DepartIntro OfficeNumber OfficePhone
部门(DEPARTMENT)表结构 键
主键 否 否 否 是 是 是 是
类型
char(35) Varchar(200) char(15) char(12)
3
数据库原理及应用
电子科技大学
四、SQL操作机理
数据库应用程序 SQL主要操作功能: SQL 从数据库存取数据 SQL 从数据库删除数据 SQL 创建新数据库 SQL 在数据库中创建新表 SQL 在数据库中创建存储过程 SQL 在数据库中创建视图 SQL 可以设置数据库对象的访问权限
相关文档
最新文档