6 The Database Language SQL)(13~14周)

合集下载

第三章+关系数据库标准语言SQL(一)

第三章+关系数据库标准语言SQL(一)
❖ 其中<表名>是所要定义的基本表的名字,它可以由 一个或多个属性(列)组成。<列名>是所要定义的列 的名字,完整性约束条件表示表中数据需要满足的 约束条件。
An Introduction to Database System
3.3.1 基本表的定义、删除与修改(续)
❖ 完整性约束条件被存入系统的数据字典中,当用 户操作表中数据时由DBMS自动检查该操作是否 违背这些完整性约束条件。
3.1.3 SQL的特点
1.综合统一
集数据定义语言(DDL),数据操纵语言(DML), 数据控制语言(DCL)功能于一体。
可以独立完成数据库生命周期中的全部活动:
➢ 定义关系模式,插入数据,建立数据库; ➢ 对数据库中的数据进行查询和更新; ➢ 数据库重构和维护 ➢ 数据库安全性、完整性控制等
3.1 SQL概述 3.2 学生-课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 视图 3.7 嵌入式SQL
An Introduction to Database System
3.2 学生-课程 数据库
❖学生-课程模式 S-T : 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade)
SQL-99的12个标准文本。目前大多数数据库管理系统均 支持SQL-92(SQL2),有少部分支持SQL-99。 ❖ ANSI在2003年做了更新,针对 SQL-99 的一些问题进行 了改进,支持 XML,支持 Window 函数、Merge 语句等, 称为SQL:2003。 ❖ 2006年发布了SQL:2006,增强 XML 对数据处理的能力。 ❖ 目前最新版本为SQL:2008。毫无疑问,将来还会做进一 步的改良。

第三章数据库语言SQL

第三章数据库语言SQL
sno char(10) primary key(sno) , sname stu_name , sage smallint, ssex char(1), sdept char(2))
DDL——SQL的模式定义
Create Table Course ( cno char(10) primary key (cno) , cname varchar(20) , credit smallint )
概述——SQL的形式
• 交互式SQL
– 一般DBMS都提供联机交互工具 – 用户可直接键入SQL命令对数据库进行操作 – 由DBMS来进行解释
概述——SQL的形式
嵌入式SQL
– 能将SQL语句嵌入到高级语言(宿主语言) – 使应用程序充分利用SQL访问数据库的能力、
宿主语言的过程处理能力 – 一般需要预编译,将嵌入的SQL语句转化为
Select语句的含义
• 结果集
查询操作的对象是关系,结果还是一个关 系,是一个结果集,是一个动态数据集
Select子句
• 对应于关系代数的投影(π)运算,用 以列出查询结果集中的期望属性
Select子句——重复元组
• SQL具有包的特性 • Select 子句的缺省情况是保留重复元
组( ALL ),可用 Distinct 去除重 复元组
第三章数据库语言SQL
概述
• SQL的发展
– 1974年,由Boyce和Chamberlin提出 – 1975~1979,IBM San Jose Research Lab的
关系数据库管理系统原型System R实施了 这种语言 – SQL-86是第一个SQL标准 – SQL-89、SQL-92(SQL2)、SQL-99(SQL3)

数据库原理及应用教案

数据库原理及应用教案

数据库原理及应用教案一、教学目标1. 了解数据库的基本概念、发展历程和分类。

2. 掌握数据库管理系统的基本功能和常用数据库管理系统。

3. 理解关系模型和关系运算。

4. 掌握SQL语言的基本语法和使用方法。

5. 学会数据库的设计和建立基本表。

二、教学内容1. 数据库概述1.1 数据库的基本概念1.2 数据库的发展历程1.3 数据库系统的组成1.4 数据库的分类2. 数据库管理系统2.1 数据库管理系统的基本功能2.2 常用数据库管理系统3. 关系模型与关系运算3.1 关系模型的基本概念3.2 关系运算的定义及分类4. SQL语言4.1 SQL语言的基本概念4.2 SQL语言的基本语法4.3 SQL语言的使用方法5. 数据库设计与建立基本表5.1 数据库设计的基本步骤5.2 建立基本表的方法三、教学方法1. 讲授法:讲解数据库的基本概念、原理和方法。

2. 案例分析法:通过实例分析,使学生更好地理解和掌握数据库的设计和应用。

3. 实践操作法:引导学生实际操作数据库管理系统,提高实际应用能力。

四、教学环境1. 教室环境:宽敞明亮的教室,配备多媒体教学设备。

2. 计算机实验室:每台计算机安装有数据库管理系统软件,如MySQL、Oracle等。

五、教学评价1. 平时成绩:考察学生的出勤、课堂表现和作业完成情况。

2. 实践操作:评估学生在实验室进行的实践操作表现。

3. 期末考试:采用闭卷考试方式,测试学生对数据库原理及应用的掌握程度。

六、教学内容6. 数据库规范化理论6.1 规范化理论的基本概念6.2 函数依赖与范式6.3 数据库的规范化过程7. 数据库查询语言7.1 查询语言的基本概念7.2 选择、投影和连接操作7.3 SQL查询语言的使用8. 数据库事务管理8.1 事务的基本概念8.2 事务的属性8.3 事务管理的方法9. 数据库安全性与完整性9.1 数据库安全性的基本概念9.2 用户权限管理9.3 数据库完整性约束10. 数据库性能优化10.1 数据库性能优化的基本概念10.2 查询优化策略10.3 数据库配置优化七、教学方法1. 讲授法:讲解数据库规范化理论、查询语言、事务管理、安全性与完整性以及性能优化的基本概念和原理。

第4章 数据库标准语言SQL

第4章 数据库标准语言SQL

4.1.4 SQL语法
约定符号 意义
[ ] (方括号) [ ]中的内容为任选项,根据具体情况决定是否选用。 |(竖线) < >(尖括号) { }(大括号) 必选项,表示两边的部分只能选用其中的一个。 < >中的内容为实际语义,表示其中内容要以实际名称或参 数输入,为必选内容。 必选项,表示必须至少选其中的一个选项。
其中select是关键字即在sql语言中有固定含义的单词mytable是标识符根据使用它们的命令的不同标识符用来命名数据库对象如库表视图索引存储过程触发器等关键字和标识符有着同样的语法结构
第4章 数据库标准语言SQL
本章概要
SQL是结构化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据操 纵、数据定义和数据控制四个部分。 SQL 语言简洁、方便实用、功能齐全,已成为目前 应用最广的关系数据库语言。
NAME=学生选课库,
FILENAME = ‘C:\SQLSERVER\DATA\学生选课.mdf’, SIZE = 4MB, MAXSIZE = 6MB, FILEGROWTH = 20%
)
4.2.1 数据库 2.选择数据库:数据库的选择使用USE命令,其 语法格式为: USE <数据库名>
3.删除数据库 :删除数据库的语法格式为:
创建
修改

视图
Create table
Create view
Drop table
Drop view
Alter table
索引
Create index
Drop index
Alter database
数据库 Create database Drop database

第五章关系数据库标准语言SQL

第五章关系数据库标准语言SQL
SQL(Structured Query Language, 结构化查询语言)是关系数据库的标准语 言,是介于关系代数和关系演算之间的一 种语言。SQL是一个通用的、功能极强的 关系数据库语言。
本章主要内容
5.1 SQL 概述 5.2 学生-课程数据库 5.3 数据定义 5.4 数据更新(一) 5.5 数据查询
5.2 学生—课程数据库
表5.2
学生表
Sno 2006012 2006A03 2006236 2006278 2006014
Sname Ssex
陈晔

李云兰 男
范玉波 女
秦铭

李敏

Sage 19 18 19 19 18
Sdept 计算机
管理 管理 管理 计算机
5.2 学生—课程数据库
表5.3
Cno B024 A036 A037 A036
3. 1981年 IBM推出其商用关系关系数据库SQL/DS,并将其名 字改为SQL,由于SQL语言功能强大,简洁易用,因此得到 了广泛的使用;
4. 今天广泛应用于各种大型数据库,如SYBASE、INFORMIX、 ORACLE、DB2、INGRES等,也用于各种小型数据库,如 FOXPRO、ACCESS。
5.1.5 SQL的特点
1) SQL语言类似于英语的自然语言,简洁易用。 2) SQL语言是一种非过程语言,即用户只要提出“干什么”
即可,不必管具体操作过程,也不必了解数据的存取路 径,只要指明所需的数据即可。
3) SQL语言是一种面向集合的语言,每个命令的操作对象 是一个或多个关系,结果也是一个关系。
A028
Cname 数据库原理
离散数学 体育 英语
高等数学

第六章关系数据库标准语言SQL.

第六章关系数据库标准语言SQL.

*&6*
(2) 语法格式 SELECT …. FROM TABLE INNER|LEFT|RIGHT|FULL JOIN TABLE ON JIONCONDITION WHERE …… 例6-9 只检索出学生表和选课表中学号相同的每个学生的选课情况, 输出学号,姓名,课程编码和成绩数据项 SELECT 学生表.学号,姓名,课程编码,成绩; FROM 学生表 JOIN 选课表; ON 学生表.学号=选课表.学号 或 SELECT 学生表.学号,姓名,课程编码,成绩; FROM 学生表 INNER JOIN 选课表; ON 学生表.学号=选课表.学号 或 SELECT 学生表.学号,姓名,课程编码,成绩; FROM 学生表 , 选课表 WHERE学生表.学号=选课表.学号 *&7*
统计出学生所选课程的数目
SELECT COUNT(DISTINCT 课程编码) FROM 选课表
计算出学生总成绩
SELECT SUM(成绩) FROM 选课表
求选“程序设计”课程的学生成绩总和
SELECT SUM(成绩) FROM 选课表 WRERE 课程编码 IN ; (SELECT 课程编码 FROM 课程表 WHERE 课程名=“程序设计”) *&9*
6.2SQL查询功能




SQL的核心是查询,其查询方式有简单查询、嵌套查询、联接查询和计算查询。 Visual FoxPro 的SQL SELECT 语句的语法格式 SELECT [ALL|DISTINCT][TOP nexpr [PERCENT]] [Alisa.] Select_Item [AS Column_Name] [,[Alisa.] Select_Item [AS Column_Name]…] FROM [FORCE] [DatabaseName!] Table [[AS] Local_Alias] 本章节的例题将全部基于学生管理数据库,下面给出该数据库中各表的具体数据。 学生表 学号 姓名 性别 出生年月 所在系 19998001 王海峰 男 07/16/80 计算机 19998002 王 东 男 06/05/80 计算机 19998003 黄海荣 男 12/01/79 数学 19998004 李冰莹 女 08/23/79 物理 19998005 李丽 女 08/23/80 土木 19998101 叶冰 女 03/31/80 计算机 19998102 施胜利 男 03/28/80 土木 19998103 李晓梅 女 08/20/81 物理 *&1*

最新第6章关系数据库标准语言SQL - 幻灯片1

最新第6章关系数据库标准语言SQL - 幻灯片1

第2节
四、嵌套查询
数据查询
所谓嵌套查询就是,查询所输出的信息来自一个表,而 查询的条件却涉及到一个或多个表。 【例6-7】检索至少有一个学生欠费的系。 命令:select DISTINCT 系 from 学生 where 学号 IN; (select 学号 from 交费 where 欠交金额>0) 说明:这个检索命令由两个SELECT子句构成,即内层查 询(子查询)和外层查询,子查询查到的结果是欠费学生的学 号,外层查询在利用这个学号在学生表中查找欠费学生所在的 系,因为查询的结果有重复,而我们只对欠费的系感兴趣,所 以,用DISTINCT关键词去掉了重复值。 注意:子查询用一对圆括号括起来,且子查询不能嵌套。
第2节
四、嵌套查询
数据查询
【例6-8】检索和会计学专业收费相同的专业。 命令:select 专业简称 from 专业; where 专业简称 !="会本" AND 学费=; (select 学费 from 专业 where 专业简称="会本") 说明:命令用专业简称 !=“会本” 条件来去掉“会计学”专业 本身
GROUP BY 子句 :用于对查询结果进行分组,对应于【查询设计 器】中的【分组】选项卡。
第2节 数据查询
一、SELECT语句的语法(续) 查询结果输出选项 :来指定查询结果的输出去向,对应于 【查询设计器】中【查询去向】对话框。 查询结果显示选项 :[ALL|DISTINCT] [TOP n[PERCENT]]关键 词用来控制查询结果的显示情况,对应于【查询设计器】中的 【杂项】选项卡。
第2节
二、简单查询
数据查询
【例6-4】检索出经贸系和信息系贫困学生的学号、姓名和所在班级。 命令:select 学号,姓名,班级 from 学生; where 家庭情况="贫困" AND (系="经贸系" OR 系="信息系")

关系数据库语言.ppt

关系数据库语言.ppt
制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组
3.3.4 索引的建立和撤消 索引的建立和撤销语句的格式如图3-2所示.
制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组
在图3-2(a)中,UNIQUE是可选项;如果加了 UNIQUE,则每个索引属性值只能对应一个元组, 即此索引属性是主键或候补键。图3-2(a)中的列 名就是指索引属性。如果列名后加ASC,表示索 引属性按升序排列;如果列名后加DESC,表示 索引属性按降序排列。 例 :CREATE INDEX H_INDEX
制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组
CREATE TABLE SC /*建立选课基表*/
(SNO CHAR(7) NOT NULL,
CNO CHAR(6) NOT NULL,
GRADE DEC (4,1) DEFAULT NULL,外键来
PRIMARY KEY (SNO ,CNO),自
CREATE TABLE STUDENT /*建立学生表*/
( SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.0“0;”,不是SQL
制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组
下面命令暂时撤消主键。 ALTER TABLE <表名> DROP PRIMARY KEY ;
制作:倪巍伟 东南大学计算机科学与工程学院数据库课程组
5.补充定义外键 ALTER TABLE <表名-1> ADD FOREIGN KEY [<外键名>](<列名表>) REFERENCES <表名-2> [ON DELETE { RESTRICT | CASCADE |SET NULL}]; 花括号表示三项中任选一项。有横线表示缺省项。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档