09 第5章 关系数据库标准语言SQL1
SQL语言基础教学
SQL语言基础教学第一章:引言SQL(Structured Query Language,结构化查询语言)是一种专门用于管理和操作关系型数据库的标准语言。
本章节将对SQL的背景和概述进行介绍。
第二章:SQL的起源和发展本节将详细介绍SQL的起源、发展和版本更新历程。
介绍IBM的SEQUEL语言如何演变为现今的SQL标准,以及不同数据库管理系统(DBMS)对SQL的实现。
第三章:SQL的数据类型SQL支持多种数据类型,包括整数、浮点数、字符型、日期时间型等。
本章将对这些数据类型进行详细解释,并说明它们在数据库中的应用。
第四章:SQL的表格操作表格是SQL中最基本的数据组织形式。
本章将介绍如何创建数据库表格、插入数据、更新数据、删除数据和查询数据。
还将介绍如何对表格进行排序和过滤以及如何定义表格的主键和外键。
第五章:SQL的数据查询数据查询是SQL的核心功能之一。
本章将介绍SQL中的SELECT语句,包括基本查询、条件查询、排序、聚合函数和多表查询等。
还将介绍如何使用JOIN语句将多个表格关联起来进行查询。
第六章:SQL的数据修改除了查询数据,SQL还提供了修改数据的功能。
本章将介绍如何使用UPDATE语句修改表格中的数据,如何使用INSERT语句插入新的数据,以及如何使用DELETE语句删除数据。
第七章:SQL的数据约束数据约束是为了保证数据库中数据的完整性和一致性。
本章将介绍如何使用SQL中的约束来定义表格的约束条件,包括主键约束、外键约束、唯一约束、默认值和检查约束等。
第八章:SQL的视图和索引视图和索引是提高数据库性能和灵活性的重要工具。
本章将介绍如何使用SQL创建和操作视图,以及如何使用索引来加快数据库的查询速度。
第九章:SQL的事务处理事务处理是SQL中非常重要的概念,用于保证数据的一致性和完整性。
本章将介绍如何使用SQL的事务处理功能,包括事务的提交和回滚,以及如何处理并发访问问题。
第十章:SQL的安全性和权限控制数据库中的数据往往具有重要性,因此安全性和权限控制是SQL中不可忽视的方面。
数据库原理知识总结和期末试卷
数据库知识要点归纳第1章数据库基础知识1.数据库(DB)是一个按数据结构来存储和管理数据的计算机软件系统。
数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库管理数据两个特征:1.数据整体性 2.数据库中的数据具有数据共享性2.数据库管理系统(DBMS)是专门用于管理数据库的计算机系统软件3.数据库应用系统是在数据库管理系统(DBMS)支持下建立的计算机应用系统,简写为DBAS。
数据库应用系统是由数据库系统、应用程序系统、用户组成的。
例如,以数据库为基础的财务管理系统、人事管理系统、图书管理系统,成绩查询系统等等。
4.数据库系统DBS是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。
它通常由软件、数据库和数据管理员组成。
5.数据库中数据独立性数据和程序之间的依赖程度低,独立程度大的特性称为数据独立性高。
1、数据的物理独立性数据的物理独立性是指应用程序对数据存储结构的依赖程度。
2、数据的逻辑独立性数据的逻辑独立性是指应用程序对数据全局逻辑结构的依赖程度。
6.数据库的三级模式是模式、外模式、内模式。
1.模式(Schema)一个数据库只有一个模式 2.外模式(External Schema)一个数据库有多个外模式。
3.内模式(Internal Schema)一个数据库只有一个内模式。
7.数据库系统的二级映象技术第2章数据模型与概念模型1.实体联系的类型:一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)2.E-R图描述现实世界的概念模型,提供了表示实体集、属性和联系的方法。
长方形表示实体集椭圆形表示实体集的属性菱形表示实体集间的联系3.数据模型的三要素数据结构、数据操作、数据约束条件数据结构分为:层状结构、网状结构和关系结构常见的数据模型:层次模型、网状模型和关系模型。
层次模型用树形结构来表示各类实体以及实体间的联系1第3章数据库系统的设计方法1.数据库系统设计应分6个阶段进行,这6个阶段是需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。
第5章 SQL语言
例 5.7 找出工作在面积大于 1400 的仓库的职工号 以及这些职工所在的城市
SELECT 职工号,城市 FROM 职工,仓库 ; WHERE (面积>1400) AND(职工.仓库号=仓库.仓库号)
若使用SELECT SUM(DISTINCT工资) FROM 职工
举例
例5.15 求北京和上海的仓库职工的工资总和
SELECT SUM(工资) FROM 职工 WHERE 仓库号 IN ; (SELECT 仓库号 FFROM 仓库 WHERE 城市=”北京” OR; 城市=”上海”)
例5.16 求所有职工的 工资都多于2210元的仓库的平均 面积
[UNION …] [ORDER BY …]
• SELECT说明要查询的数据 • FROM说明要查询的数据来自哪个或哪些表, 可以对单个表或多个表进行查询; • WHERE说明查询条件,即选择元组的条件; • GROUP BY短语用于对查询结果进行分组, 可以利用它进行分组汇总; • HAVING短语必须跟随GROUP BY 短语使 用,它用来限定分组必须满足的条件; • ORDER BY 用来对查询的结果进行排序。
“武汉”的“SH4”仓库还没有职工,但该仓库的信息 也被检索出来了。
举例
• 排除那些还没有职工的仓库,检索要求描述 为: 查询所有的职工工资都多于 2210元的 仓库的信息,并且该仓库至少要有一名职工.
SELECT * FROM 仓库 WHERE 仓库号 NOT IN ; (SELECT 仓库号 FROM 职工 WHERE 工资<=2210) ; AND仓库号IN (SELECT 仓库号 FROM 职工)
第5章结构化查询语言
第5章结构化查询语言结构化查询语言(SQL,Structured Query Language)是一种用于管理关系型数据库的标准化语言,也是数据库操作的基础。
SQL可以实现数据库的创建、查询、插入、更新和删除等操作,可以对数据库中的表、视图等进行管理和操作。
SQL语言包括数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)和事务控制语言(TCL)等几个方面。
数据定义语言(DDL)用于定义、修改和删除数据库对象,包括创建数据库(CREATEDATABASE)、创建表(CREATETABLE)、修改表结构(ALTERTABLE)和删除表(DROPTABLE)等。
数据操纵语言(DML)用于对数据库中的数据进行操作,包括插入数据(INSERT)、更新数据(UPDATE)和删除数据(DELETE)等。
数据查询语言(DQL)用于从数据库中查询数据,SQL语句的核心部分,可以实现复杂的数据查询和数据过滤。
常见的查询语句包括SELECT、FROM、WHERE、GROUPBY、HAVING、ORDERBY等。
事务控制语言(TCL)用于控制数据库中的事务,包括BEGINTRANSACTION、COMMIT、ROLLBACK等。
通过TCL语句可以确保数据库的操作具有原子性、一致性、隔离性和持久性(ACID特性)。
SQL语言的特点有以下几个方面:1.简单易学:SQL语言的语法相对简单,易于学习和使用。
2.高效可靠:SQL语言是标准化的数据库操作语言,可以高效地对数据库进行管理和操作。
3.跨平台性:SQL语言是一种通用的数据库操作语言,可以在不同的平台和数据库系统上使用。
4.强大灵活:SQL语言可以实现复杂的数据查询和处理,支持多表联合查询、条件查询、分组统计等功能。
SQL语言在现代数据库管理系统中得到了广泛的应用,是数据库开发和管理中非常重要的一部分。
掌握SQL语言可以更好地进行数据库设计、数据管理和数据分析等工作。
(完整版)数据库原理及应用习题(有答案)
假设教学管理规定:
①一个学生可选修多门课,一门课有若干学生选修;
②一个教师可讲授多门课,一门课只有一个教师讲授;
③一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
要求:根据上述语义画出 ER 图,要求在图中画出实体的属性并注明联系的类型;
(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。 (2)检索年龄大于 21 的男学生学号(S#)和姓名(SNAME)。 (3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 (4)检索”李强”同学不学课程的课程号(C#)。 (5)检索至少选修两门课程的学生学号(S#)。 (6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 (7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。
4、SQL 语言具有两种使用方式,分别称为交互式 SQL 和 嵌入式 SQL 。
5、假定学生关系是 S(S#,SNAME,SEX,AGE),课程关系是 C(C#,CNAME,TEACHER),学生选课关系是
SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 S,C,SC 。
三:简答题:
1. 什么是数据库?
答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行
组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据
独立性和易扩展性。
2. 什么是数据库的数据独立性?
答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理
SQL存储过程 函数
pid p01 p02 p03 p04 p05 p06 p07
pname comb brush razor pen pencil folder case
city Dallas Newark Duluth Duluth Dallas Dallas Newark
quantity 111400 203000 150600 125300 221400 123100 100500
aid a01 a02 a03 a04 a05 a06
aname Smith Jones Brown Gray Otasi Smith
city New York Newark Tokyo New York Duluth Dallas
percent 6 6 7 6 5 5
PRODUCTS:商品编号,名称、 商品库存所在城市、库存量、单价
9
第五章关系数据库标准语言—SQL
例
创建存储过程proc_Qcustomer:通过顾客的cid来查询 顾客的姓名、城市和这个顾客的折扣,默认顾客cid为 c001。 CREATE PROCEDURE proc_Qcustomer @cid nvarchar(255)='c001', @cname nvarchar(255) output, @city nvarchar(255) output, @discnt float output AS select @cname=cname,@city=city,@discnt=discnt from CUSTOMERS where cid=@cid Go
17
重庆大学软件学院 柳玲 lling29@
第五章关系数据库标准语言—SQL
数据库系统原理课程总结
数据库系统原理课程总结第一章数据库基础知识1.信息、信息特征及作用(1)信息的内容是关于客观事物或思想方面的知识。
(2)信息是有用的。
(3)信息能够在空间可时间上传递。
(4)信息需要一定的形式表示。
2.数据、数据与信息的关系及数据的特征(1)数据哟“型”与“值”之分。
(2)数据受数据类型和取值范围的约束。
(3)数据有定性表示和定量表示之分。
(4)数据应具有载体和多种表现形式。
3.手工管理数据库阶段(1)手工管理阶段不保存大量的数据。
(2)手工管理数据库阶段没有软件系统对数据刻库进行管理。
(3)手工管理阶段基本上没有“文件”概念。
(4)手工管理阶段是一组数据对应一个程序。
4.数据库技术的发展历程(1)出现了许多商品化的数据库管理系统。
(2)数据库技术成为实现和优化信息系统的基本技术。
(3)关系方法的理论研究和软件系统的研制取得了很大成果。
5.数据库系统的软件的组成(1)操作系统。
(2)数据库管理系统和主语言编译系统。
(3)数据库应用开发工具软件。
(4)数据库应用系统及数据库。
第二章数据库模型与概念模型1.数据模型的三要素a.数据结构b.数据操作c.数据约束条件2.常见的数据模型当前,数据库领域最常用的数据模型主要有3种,它们是层次模型,网状模型和关系模型。
3.层次模型1)层次模型的定义a.有且仅有一个节点没有双亲结点,这个节点成为根结点。
b.出去根节点之外的其他结点有且只有一个双亲结点。
2)层次模型的存储结构a.邻接存储法。
邻接存储法是按照层次书前序穿越的顺序,把所有纪录值依次邻接存放,即通过物理空间的位置相邻来安排层次顺粗,实现存储。
b.链接存储法。
链接存储法是指用引元来反映数据之间的层次联系,它主要有子女-兄弟链接法和层次序列链接法两种方法。
4.网状模型1)网状模型的基本特征a.有一个以上的结点没有双亲。
b.结点可以有多余一个的双亲。
5.关系模型1)关系模型的存储结构在关系数据库的物理组织中,关系以文件形式存储。
初学者必读的SQL数据库基础教程
初学者必读的SQL数据库基础教程SQL数据库是一种常用的数据库管理系统,广泛应用于各种软件开发和数据管理领域。
对于初学者来说,掌握SQL数据库的基础知识是非常重要的。
本文将从数据定义语言、数据操作语言、数据查询语言和数据控制语言等方面,为初学者提供一份必读的SQL数据库基础教程。
第一章数据定义语言(DDL)数据定义语言(DDL)是SQL数据库中用来定义数据库结构的语言。
它包括创建、修改和删除数据库、表、列以及其他对象的操作。
在SQL中,创建数据库使用CREATE DATABASE语句,创建表使用CREATE TABLE语句,修改表结构使用ALTER TABLE语句,删除表使用DROP TABLE语句等。
初学者在学习时应该了解这些常用的DDL语句,并能够正确地使用它们。
第二章数据操作语言(DML)数据操作语言(DML)是SQL数据库中用来对数据库中的数据进行操作的语言。
它包括插入、更新和删除数据的操作。
在SQL中,插入数据使用INSERT INTO语句,更新数据使用UPDATE语句,删除数据使用DELETE FROM语句等。
初学者需要熟悉这些基本的DML语句,并能够通过它们来操作数据库中的数据。
第三章数据查询语言(DQL)数据查询语言(DQL)是SQL数据库中用来查询数据库中的数据的语言。
它包括SELECT语句和一些用于过滤、排序和聚合数据的函数。
初学者需要掌握SELECT语句的基本用法,了解如何使用WHERE子句进行条件过滤,如何使用ORDER BY子句进行排序,以及如何使用GROUP BY子句进行数据聚合。
第四章数据控制语言(DCL)数据控制语言(DCL)是SQL数据库中用来控制数据库访问权限和事务处理的语言。
它包括GRANT和REVOKE语句用于授权和撤销权限,以及BEGIN TRANSACTION、COMMIT和ROLLBACK语句用于管理事务。
初学者需要了解如何使用DCL语句来管理数据库的安全性和事务一致性。
《关系数据库SQL语言》
[DataName!]TableName [[AS] Local_Alias] [ON JoinCondition]…] [WHERE JoinCondition [AND JoinCondition…] [AND|OR FilterCondition [AND|OR FilterCondition…]]] [ORDER BY Order_Item [ASC|DESC][,Order_Item [ASC|DESC]…]] [GROUP BY GroupColumn [,GroupColumn…] [HAVING FilterCondition]] [TO SCREEN|FILE FileName [ADDITIVE]|PRINTER [PROMPT]] [INTO TABLE TableName|CURSOR CursorName|ARRAY ArrayName]
(1)简单条件查询
【例5-5】在Zgjk.dbf表中,查询基本工资在1000元以上(含 1000元)职工的姓名和部门(要求不重复显示)。
在命令窗口中键入:
SELECT DISTINCT 姓名,部门,基本工资 FROM Zgjk WHERE 基本工资>=1000
(2)复合条件查询
【例5-6】在Zgjk.dbf表中,查询家电部门已婚的职工的信息。
1000 AND 1200 该命令等价于:
SELECT * FROM Zgjk WHERE 基本工资>=1000 AND ;
基本工资<=1200
3.对查询结果进行排序
在SELECT-SQL命令中,使用ORDER BY子句,可以使查询结果按 指定要求排序。 命令格式:SELECT <列名表> FROM <表名> [WHERE <条件>]; ORDER BY <排序依据> [ASC|DESC] 说明: 排序依据:备注型数据和通用型数据不能作为排序依据。排序依据 可以是字段名、由AS子句命名的列标题(在ORDER BY子句中,不能 直接使用表达式和函数)和列序号(即该列在查询结果中的位置1,2, 3…)。 排序方式:ASC表示查询结果按照排序依据项的值升序排列, DESC表示查询结果按照排序依据项的值降序排列。默认排序方式为 ASC。 排序规则:数值按大小顺序,字母按“ a ” < “ A ” < “ b ” < “ B ” … 的顺序,汉字按内码值顺序,日期按前后顺序,逻辑型数据“假”在 前“真”在后。
关系数据库的结构化查询语言SQL
备注
按固定长度n存储字符串,如果实际字符串长度长小于n,后 面填空格符;如果实际字符串长大于n,则报错。
按实际字符串长度存储,但字符长度不得超过n,则报错。 常见的长整数,字长32位
字长16位 n为十进制数总位数(不包括小数点),d为小数据点后的十进 制位数
一般指双精度浮点数,即字长64位
二进制位串,长度为n,n的缺省值为1
按实际二进制位串存储,但最长不得超过n位,否则报错 格式为“yyyymmdd”, yyyy表示年份,范围为0001~9999;mm 表示月份,范围为1~12;dd表示日,范围为1~31。 格式为“hhmmss”,hh表示小时,范围为0~24;mm为分钟, ss表示秒,范围都是0~59。 格 式 为 “ yyyymmddhhmmssnnnnnn” , 其 中 “ nnnnnn” 表 示 微秒,范围为0~99999,其他符号的意义同上。
2)SQL数据库的体系构造
SQL用户
用户1
用户2
用户3
用户4
外模式
视图V1
视图V2
模式
基本表B1
基本表B2
基本表B3
基本表B4
内模式 存储文件S1
存储文件S2
存储文件S3
存储文件S4
SQL数据库的体系构造的特征:
一个SQL模式是表和约束的集合。 一个表〔TABLE〕是行的集合。每行是列的序列,每
如果关键字由多个属性构成,那么必须使用方法(2)。
SQL事例
CREATE TABLE S
( SNO CHAR(6) PRIMARY KEY, /*第一种方式*/ SNAME CHAR(8) NOT NULL, AGE SMALLINT, SEX CHAR(1), DNAME VARCHAR(12));
全国计算机等级考试-4级-数据库原理
数据操纵:(Data manipulation Language,DML)
对数据进行追加、插入、删除、检索等操纵
数据库运行控制:(Data Control Language,DCL)
A.安全性控制B.完整性控制C.并发控制D.数据库恢 复
数据字典(Data Dictionary,DD)
2、数据库
Data Base
(1)数据库是存储在计算机存储设备上的:数据库是存在于计 算机存储设备上的一个或多个(数据库)文件组成的统一体,
是可感知的数据库形体。
(2)数据库是按一定的组织方式存储在一起的:数据库中的数 据是以结构化的形式存储的,这种结构化形式实质上就是数 据库的数据模型,是不可感知的数据库形体。 (3)数据库是相关的数据集合:数据库中的数据既有某特定应 用领域涉及的各种基本数据,也有反映这些数据之间联系的 数据,也是不可感知的数据库形体之一。
全国计算机等级考试 四级数据库原理
汉方科技
课程介绍
1.掌握数据库系统基本概念和主要特征。 2.掌握数据模型的基本概念,了解各种主要 数据模型。 3.深入理解关系数据模型和关系数据库系统。 4.深入理解和掌握关系数据语言(重点)。 5.深入理解关系数据理论,掌握数据库分析 与设计方法,具有数据库设计能力。(难点) 6.深入理解数据库管理的基本概念和数据库 系统实现的核心技术。(运用) 7.了解数据库技术的发展。
汉方科技
知识模块
基础篇
第01章:数据库系统基本概念 第02章:数据模型及体系结构 第03章:关系型数据库理论
设计篇
第04章:数据库系统设计概述 第05章:数据库系统需求分析 第06章:数据库系统概念设计 第07章:数据库系统逻辑设计 第08章:数据库系统物理设计
《数据库与信息管理技术》教学大纲.docx
《数据库与信息管理技术》教学大纲(适用于本科层次)一、课程的性质、目的与任务《数据库与信息管理技术》是计算机科学与技术、信息管理与信息系统专业课程体系中的核心课程,在人才培养中具有十分重要的意义。
在2004年教育部《关于进一步加强高等学校计算机基础教学的意见》精神中明确指出,要在目前大学教育中,给予计算机基础教育高度重视,在对当代大学生计算机知识与能力的要求中,“具备利用数据库技术对信息进行管理、加工和处理的意识与能力,用以解决本专业领域中的问题”就是其中的一条。
数据库技术是当今世界高新技术潮流中的主流技术之一,它的发展对其它技术学科的发展具有极为重要的意义。
数据库技术在现代工业、现代金融、现代商贸等领域有着广阔发展应用前景,运用数据库技术与多媒体技术、计算机网络技术、Internet和Intranet技术手段,与经济和管理理论相结合,对本科学生进行信息管理、商业自动化、电子商务的研究、分析、设计、开发和应用等诸方面的培养,是发展学生的工程素质和能力,使学生掌握系统分析、系统设计与开发技术,具备完整知识体统的重要手段。
本课程着重介绍数据库系统的基本原理和设计方法,特别是目前应用最为广泛的关系数据库系统的原理和相关技术,使学员在掌握数据库基本原理的基础上,学会关系数据库应用系统的设计技术,培养应用数据库技术解决计算机应用中实际问题的能力,并为今后从事数据库理论教学和应用系统的开发工作打下良好的基础,成为我国从事数据库理论研究、教学和应用系统开发的专门人才。
二、课程的内容和基本要求本课程在教学中要求学生达到以下基本要求:1、理解数据库技术的基本原理,特别是关系数据库原理和相关知识;2、掌握数据库的设计理论和方法;3、掌握数据库创建、更新和查询等实际操作命令,重点是数据查询语言SQL;4、掌握数据库应用系统设计的基本步骤和方法,能进行普通数据库应用系统的设计;5、了解数据库技术的发展现况和发展趋势;三、学时分配课程的基本内容及学时分配第1章关系数据库标准语言一SQL(6学时)1.1SQL概述1.2SQL的数据定义1.3SQL的数据查询1.4SQL的数据更新1.5SQL的视图1.6SQL的数据控制1.7嵌入式SQL第2章数据管理与数据库(4学时)2.1数据库的常用术语2.2计算机数据管理技术的产生和发展2.3数据模型2.4数据库系统的模式结构2.5 DBMS的功能2.6数据库系统的组成第3章关系数据库模型(4学时)3.1关系模型的基本概念3.2关系代数3.3关系演算3.4查询优化第4章关系模式的规范化设计理论(6学时)4.1问题的提出4.2关系模式的函数依赖4.3关系模式的规范化4.4关系模式的分解特性第5章数据库的安全与保护(6学时)5.1安全与保护概述5.2数据库的安全性保护5.3数据库的完整性保护5.4数据库的并发控制技术5.5数据库的恢复技术5.6数据库的复制与相关技术第6章数据库设计与实施(6学时)6.1数据库设计概述6.2数据库规划6.3需求分析6.4概念结构设计6.5逻辑结构设计6.6物理结构设计6.7数据库的实施和维护第7章数据库应用系统开发(4学时)7.1数据库应用系统的结构7.2.1 SQL Server的主要特点7.2.3SQL Server 的基本丁具7.2.4SQL Server的安全性管理7.2.5SQL Server的完整性策略7.2.6SQL Server的恢复技术7.2.7SQL Server的并发控制7.2.8数据库编程第8章数据库技术新发展(4学时)8.1数据库家族概述8.2面向对象数据库技术8.3分布式数据库8.4数据仓库与数据挖掘四、课内实验安排根据课程性质,课内安排14个课时的上机实验。
第五章 关系数据库标准语言SQL(2)
作业
课后作业
一、教材第五章课后习题 二、pdf第8章习题 pdf第
第五章 关系数据库标准语言SQL
预习
预习
第六章 视图和查询 1、视图和查询的创建方法 2、视图和查询在功能上的不同
第五章 关系数据库标准语言SQL
5.4 SQL的数据定义功能 SQL的数据定义;表名> ADD [PRIMARY KEY | UNIQUE <字 段名> TAG <索引标识>]
删除主索引
ALTER TABLE <表名> DROP PRIMARY KEY
第五章 关系数据库标准语言SQL
5.3 SQL的数据定义功能 SQL的数据定义功能
第五章 关系数据库标准语言SQL
8.3 SQL的数据定义功能 SQL的数据定义功能
5.4.1 创建表 <表名 (<字段名 表名> 字段名1> <类型>[(宽度 类型>[( CREATE TABLE <表名> (<字段名1> <类型>[(宽度 [,小数点位数])][,<字段名 <类型>[(宽度 小数点位数])][,<字段名2> 类型>[( [,小数点位数])][,<字段名2> <类型>[(宽度 [, 小数点位数] )]。。。。 。。。。) 小数点位数] )]。。。。) 例:创建sp1表,结构和sp表相同。 创建sp1表 结构和sp表相同。 sp1 sp表相同
关系数据库标准语言
例:查询考试成绩有不及格的学生的学号。
SELECT DISTINCT 学号 FROM 选课 WHERE 成绩<60; 这里使用了DISTINCT短语,当一个学生有多门课程不及格,他 的学号也只列一次。
(2)确定范围
谓词BETWEEN…AND…和NOT BETWEEN…AND…可以用来查找属 性值在(或不在)指定范围内的元组,其中BETWEEN后是范围 的下限,AND后是范围的上限。 例:查询所有年龄在20岁到23岁之间的学生姓名、系别及其 年龄。
学号 95001
95001
95001
学号
95001 95002
95002
95002 95002
看书上的例子
2、查询满足条件的元组——条件查询
通过WHERE子句来实现, WHERE子句常用的查询条件有: 比较、确定范围、确定集合、字符匹配、空值与多重条件, 其谓词如书上P16所列。
(1)综合统一
SQL语言集DDL、DML、DCL的于一体,包括定义关系模式、录 入数据、建立数据库、查询、更新、维护、数据库重构、数据库安全性 控制等一系列功能。
(2)高度非过程化 用户无需了解存取路径,用户只需提出“做什么”,而不 必指明“怎么做”。存取路径的选择以及SQL语句的操作过 程由系统自动完成。 (3) SQL语言是一种面向集合的语言,每个命令的操作对 象是一个或多个关系,结果也是一个关系。 (4)以统一的语法结构提供两种使用方式——自含式和嵌 入式 自含式语言可以独立使用交互命令,适用于终端用户、 应用程序员和DBA; 嵌入式语言使其嵌入在高级语言中使用,供应用程序员 开发应用程序。
spl语言说明教程
内模式。
数据库技术与应用
北京邮电大学 计算机学院
SQL功能极强,完成核心功能只用了9个动词。
表 3.1 SQL 语言的动词 SQL 功 能 数 据 查 询 数 据 定 义 数 据 操 纵 数 据 控 制 动 词 SELECT CREATE, DROP, ALTER INSERT,UPDATE DELETE GRANT,REVOKE
实体完整性定义(续)
[例] 将Student表中的Sno属性定义为码 (1)在列级定义主码 CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2) , Sage SMALLINT, Sdept CHAR(20));
数据库技术与应用
北京邮电大学 计算机学院
SQL支持关系数据库三级模式结构
SQL
视图1
视图2
外模式
基本表1
基本表2
基本表3
基本表4
模式
存储文件1
存储文件2
内模式
数据库技术与应用
北京邮电大学 计算机学院
5.2 数据定义语句
5.2.1 基本表的定义和维护 1. 定义基本表 定义基本表语句的一般格式为: CREATE TABLE [〈库名〉]〈表名〉(
〈列名〉〈数据类型〉[〈列级完整性约束条件〉] ,
〈列名〉〈数据类型〉[〈列级完整性约束条件〉]] [,„n] [,〈表级完整性约束条件〉] [,„n] );
数据库技术与应用
北京邮电大学 计算机学院
(1) SQL支持的数据类型
类型表示
SMALLINT 数值型 数据 INTEGER或INT DECIMAL(p[,q]) FLOAT 字符型 数据 CHARTER(n)或 CHAR(n) VARCHAR(n) GRAPHIC(n) VARGRAPHIC(n) DATE 日期时 间型 TIME TIMESTAMP
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.2.4 索引的定义与维护
二、建立索引的原则
① ② ③ ④
索引由DBA 或 DBO负责建立和删除 负责建立和删除, DBMS自动 索引由 DBA或 DBO 负责建立和删除 , 由 DBMS 自动 DBA 选择和维护; 选择和维护; 大表应当建索引,小表则不必建索引; 大表应当建索引,小表则不必建索引; 不要建过多索引; 对于基本表 不要建过多索引; 根据查询要求建立索引; 根据查询要求建立索引;
7
5.2.1 定义语句格式
SQL语句格式中,约定符号和语法规定: SQL语句格式中,约定符号和语法规定: 语句格式中
<>”中为实际语义 ① “<> 中为实际语义,不可少; <> 中为实际语义,不可少; 中为任选项; “[]”中为任选项; [] 中为任选项 或分隔符“ 中为必选其中一项 中为必选其中一项; “{}”或分隔符“|”中为必选其中一项; {} 或分隔符 n]”表示前面的项可以重复多次 “[,…n] 表示前面的项可以重复多次; [, n] 表示前面的项可以重复多次; 数据项分隔符为“ ,字符串常数的定界符用单引号 单引号“ ; ② 数据项分隔符为“;”,字符串常数的定界符用单引号“′”; SQL的关键词都用大写字母 的关键词都用大写字母; ③ SQL的关键词都用大写字母; 语句结束符为“ ④ 语句结束符为“;”; 语句一般用采用格式化书写方式。 ⑤ 语句一般用采用格式化书写方式。
11
例题
[例1] 建立“学生”表Student,它由学号Sno、姓名 Sname、性别Ssex、年龄Sage、所在系Sdept五个属 性组成。其中学号为主码,并且姓名取值也唯一。
CREATE TABLE Student (Sno Ssex Sage CHAR(7) PRIMARY KEY, CHAR(2) , SMALLINT, Sname CHAR(8) UNIQUE,
17
5.2.2 修改基本表
将年龄的数据类型改为长整数INT [例5] 将年龄的数据类型改为长整数INT。
ALTER TABLE Student INT; MODIFY Sage INT; 破坏已有 注意: 修改原有的列定义有可能会破坏 注意 : 修改原有的列定义有可能会 破坏 已有 数据。 数据。
23
5.2.4 索引的定义与维护
三、建立索引的格式
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> 索引名> 表名> (<列名>[<次序>][,<列名>[<次 列名>[<次序>][,<列名>[< ON <表名> (<列名>[<次序>][,<列名>[<次 序>] ]…); )
4
5.1 SQL的功能及特点
SQL的特点: SQL的特点: 的特点 具有自主式语言(独立进行联机交互) ①具有自主式语言(独立进行联机交互)和嵌入 式语言(嵌入到高级程序语言进行数据存取) 式语言(嵌入到高级程序语言进行数据存取)两 种使用方式; 种使用方式; 语言简洁,易学易用; ②语言简洁,易学易用; 核心功能的9个命令动词( 核心功能的9个命令动词(表5-1) 支持三级数据模式结构( ③支持三级数据模式结构(图5-1);
20
5.2.3 删除基本表
[例7] 删除Student表;
DROP TABLE
Student ;
21
5.2.4 索引的定义与维护
一、索引的作用
索引就是基本表的目录; 索引就是基本表的目录; 基本表存储文件和索引文件构成了数据库系统的 内模式; 内模式; 可实现: 可实现:
加快数据查询速度; 加快数据查询速度; 保证数据的唯一性; 保证数据的唯一性; 加快连接速度; 加快连接速度 ; ( 许多系统要求连接文件必须有相应 的索引,才能执行连接操作) 的索引,才能执行连接操作)
5
5.2 数 据 定 义
SQL的数据定义语句 表5.2 SQL的数据定义语句 操作对象 基本表 索 引 视 图 数据库 创建语句 CREATE TABLE CREATE INDEX CREATE VIEW CREATE DATABASE 删除语句 修改语句
DROP TABLE ALTER TABLE DROP INDEX DROP VIEW DROP DATABASE ALTER DATABASE
3
5.1 SQL的功能及特点
一般地, SQL的功能,可以分为三类: 一般地,按SQL的功能,可以分为三类: 的功能 数据定义语句(DDL) ⑴数据定义语句(DDL) 定义关系数据库的模式、外模式和内模式,以实现对 定义关系数据库的模式、外模式和内模式, 基本表、视图以及索引文件的定义、修改和删除等操作。 基本表、视图以及索引文件的定义、修改和删除等操作。 数据操纵语句(DML) ⑵数据操纵语句(DML) 包括数据查询 数据更新两种数据操作语句 数据查询和 两种数据操作语句。 包括数据查询和数据更新两种数据操作语句。 数据查询指对数据库中的数据查询、统计、分组、 数据查询指对数据库中的数据查询、统计、分组、排 序操作; 序操作; 数据更新指数据的插入、删除、修改等数据维护操作。 数据更新指数据的插入、删除、修改等数据维护操作。 ⑶数据控制语句 通过对数据库用户的授权 收权命令来实现有关数据 授权和 通过对数据库用户的授权和收权命令来实现有关数据 的存取控制,以保证数据库的安全性。 的存取控制,以保证数据库的安全性。
Sdept CHAR(20));
DEFAULT C1 20 FOR Sage, , CONSTRAINT C2 CHECK(Ssex IN ('男','女'))); ' ' ;
12
5.2.1 定义语句格式
常用完整性约束
主码约束: 主码约束: PRIMARY KEY 唯一性约束: 唯一性约束:UNIQUE 非空值约束: 非空值约束:NOT NULL 参照完整性约束: 参照完整性约束:FOREIGN KEY
第5章
关系数据库标准语言SQL
1
主要内容
5.1 5.2 5.3 5.4 5.6 SQL的功能及特点 SQL的功能及特点 数据定义语句 数据查询语句 数据更新语句 数据控制语句
2
5.1 SQL的功能及特点
SQL( Language) SQL(Structured Query Language)是关系数据 库的标准语言。 库的标准语言。 一种介于关系代数和关系演算之间的结构化查询 语言。 语言。 1987年国际标准化组织(ISO)通过这一标准。 1987年国际标准化组织(ISO)通过这一标准。 年国际标准化组织 1999年公布SQL-99ห้องสมุดไป่ตู้准(亦称SQL3) 1999年公布SQL-99标准(亦称SQL3)。 年公布SQL 标准 SQL3
CREATE TABLE Course (Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40), Cpno CHAR(4),
Ccredit SMALLINT, FOREIGN KEY Cpno REFERENCES Course(Cno));
14
例题 (续)
[例3] 建立表SC,它由学号Sno、课程号Cno,修课 成绩Grade组成,其中(Sno, Cno)为主码。 CREATE TABLE SC( Sno CHAR(7) , Cno CHAR(4) , Grade SMALLINT, PRIMARY KEY (Sno, Cno),
6
5.2 数 据 定 义
[<库名>]<表名 库名>]<表名> CREATE TABLE [<库名>]<表名> ( < 列名> < 数据类型>[< 列级完整性约 列名 > 数据类型 >[<列级完整性约 >[< 束条件> 束条件> ] 列名> 数据类型>[< >[<列级完整性约 [,<列名> <数据类型>[<列级完整性约 束条件>] 束条件>] ] … 表级完整性约束条件> [,<表级完整性约束条件> ] );
18
5.2.2 修改基本表
[例6] 删除学生姓名必须取唯一值的约束。
ALTER TABLE Student DROP UNIQUE(Sname);
19
5.2.3 删除基本表 表名> DROP TABLE <表名>;
基本表定义一旦删除, 表中的数据、 建立 基本表定义一旦删除 , 表中的数据 、 在此表之上的索引和视图都将自动删除。 在此表之上的索引和视图都将自动删除。 有的系统如Oracle Oracle, 有的系统如Oracle,视图定义仍保留在数 据字典中,但用户引用时报错。 据字典中,但用户引用时报错。
8
5.2.1 定义语句格式
<表名>:所要定义的基本表的名字; 表名> 所要定义的基本表的名字; 列名> 组成该表的各个属性( <列名>:组成该表的各个属性(列)名; 数据类型> 取值范围” 要进行的运算” < 数据类型 > : 由 “ 取值范围 ” 和 “ 要进行的运算 ” 决 定; 常用数据类型:字符型和数值型,熟练掌握CHAR INT、 CHAR、 常用数据类型:字符型和数值型,熟练掌握CHAR、INT、 SMALLINT、DECIMAL四种 四种。 SMALLINT、DECIMAL四种。(表5-3)
KEY与 UNIQUE的区别 的区别? ★PRIMARY KEY与 UNIQUE的区别?
KEY”必须“ “PRIMARY KEY”必须“NOT NULL”&“UNIQUE”