数据库系统及其应用.ppt
《数据库系统及其应用.ppt》由会员分享,可在线阅读,更多相关《数据库系统及其应用.ppt(70页珍藏版)》请在三一办公上搜索。
1、实验报告格式 一、实验目的 二、实验内容 三、发现问题 四、解决问题 五、总结体会,实验完成提交实验报告3份实验1 word、excel、powerpoint实验2 access数据库实验3 网站开发下周实验课 下星期二、四 2202,第6章 数据库系统及其应用,数据库系统的基本概念结构化查询语言SQL概述 在Access 2003中实践SQL的数据定义操作SQL的数据查询操作SQL的数据更新操作SQL的视图操作几种新型的数据库系统,本章基本要求:理解数据库系统的基本概念和基本知识。掌握SQL的数据定义、数据查询、数据更新和视图等操作方法。了解分布式数据库、多媒体数据库、并行数据库、演绎数据库
2、系统、主动数据库和数据仓库的功能、特点和主要实现技术。了解数据库技术的应用领域。,6.1.1 数据库系统的定义,数据库系统:在数据库系统中实现对数据进行管理的软件系统,由数据库、数据库管理系统、数据库管理员、数据库应用程序及用户五部分组成。数据库(Data Base,DB):是统一管理的相关数据的集合(可以看作很多表格)。数据库管理系统:是对数据库进行管理的软件,它是数据库系统的核心。AccessSQL ServerOraclemySQL,6.1.1 数据库系统的定义(续),数据库管理员:是对数据库进行规划、设计、协调、维护和管理的IT技术人员。数据库应用程序:是使用数据库语言开发的、能够满足
3、数据处理需求的应用程序。图书管理系统食堂刷卡管理系统银行、铁路、航空系统等用户:用户可以通过数据库管理系统直接操纵数据库,或者通过数据库应用程序来操纵数据库。,图6-1 数据库系统的组成,6.1.2 数据管理技术的发展,人工管理阶段文件系统阶段数据库阶段高级数据库阶段多媒体数据库工程数据库统计数据库模糊数据库空间数据库,6.1.4 数据库管理系统的功能,数据库定义功能提供数据库定义语言(DDL)、控制语言(DCL)数据库操纵功能提供数据库操纵语言(DML),包括增删改查等操作。数据库事务管理功能并发控制、存取控制、完整性控制、安全性、系统恢复(回滚)数据库维护功能格式转换以及网络通信等其他功能
4、,6.1.4 数据库管理系统的类型,层次型数据库:采用层次数据模型,即使用树型结构来表示数据库中的记录及其联系。IBM、SYSTEM2000网状型数据库:采用网状数据模型,即使用有向图(网络)来表示数据库中的记录及其联系。IDMS关系型数据库:关系型数据库采用关系数据模型,即使用二维表格的形式来表示数据库中的数据及其联系。由于关系模型比较简单、易于理解且有完备的关系代数作为其理论基础,所以被广泛使用。ACCESS、FOXPRO、DELPHI、SQL Server、ORACLE、mySQL等面向对象数据库:采用面向对象数据模型,是面向对象技术与数据库技术相结合的产物。在面向对象数据库中使用了对象
5、、类、实体、方法和继承等概念,具有类的可扩展性、数据抽象能力、抽象数据类型与方法的封装性、存储主动对象以及自动进行类型检查等特点。Oracle 8i中,支持面向对象的功能。,6.1.4 数据库管理系统的构成,应用层:该层是数据库管理系统与终端用户和应用程序的界面,负责处理各种数据库应用程序对数据库的请求。语言处理层:该层由DDL编译器、DML编译器、DCL编译器、查询器等组成,负责完成对数据库语言的的各类语句进行词法分析、语法分析和语义分析,生成可执行的代码。此外,还负责进行授权检验、视图转换、完整性检查、查询优化等。数据存取层:该层将上层的集合操作转换为对记录的操作,包括扫描、排序、查找、插
6、入、删除、修改等,完成数据的存取、路径的维护以及并发控制等任务。数据存储层:该层由文件管理器和缓冲区管理器组成,负责完成数据的页面存储和系统的缓冲区管理等任务。,6.2 数据库语言,数据定义语言(DDL):定义和标识数据库的逻辑结构和物理结构,并给出其唯一的命名描述各类模式及它们之间的映象。描述每一个基本数据项的基本特征。描述安全控制方式和完整性约束条件。定义数据结构和子结构之间的映象。数据操纵语言(DML):用来描述用户对数据库进行的各种操作,包括数据的录入、修改、删除、查询、统计、打印等。结构化查询语言(Structured Query Language,SQL):是一种基于关系代数和关系
7、演算的的数据操纵语言,目前一般都采用SQL作为共同的数据操纵语言和标准接口,是数据库领域的一种主流语言。,6.2.1 SQL的产生与发展,SQL是结构化查询语言(Structure Query Language)的英文缩写,是一种基于关系运算理论的数据库语言。SQL是在1974年由Byce和Chamberlin首先提出的,并在IBM公司研制的关系数据库管理系统SYSTEM-R上实现。1986年10月美国国家标准局(ANSI)的数据库委员会X3H2将SQL作为关系数据库语言的美国标准。1987年6月国际标准化组织(ISO)将SQL作为关系数据库语言的国际标准。1992年ISO对SQL89标准进行
8、了修改和扩充,并颁布了国际标准数据库语言(International Standard Database Language)SQL92。,6.2.2 SQL的特点,功能的一体化语法结构的统一性高度的非过程化语言的简洁性,6.2.3 SQL的功能,数据定义功能数据操纵功能数据控制功能嵌入式功能,6.3 SQL的数据定义操作定义基本表,基本表定义语句的一般形式:CREATE TABLE(NOT NULL,NOT NULL,.)在Access 2003中实现SQL语句的步骤:,在Access 2003中实现SQL语句的步骤:,非常重要,抄下,上机时具体实践!打开数据库管理系统,即Access 200
9、3。点击:文件-新建-空数据库,选择该数据库保存位置;方式1,使用设计器创建表;方式2,利用SQL语句创建表在数据库窗口中,点击“查询”,或在“视图”菜单中选择“数据库对象”-“查询”点击查询窗口中的“新建”按钮 点击“确定”,关闭“显示表”窗口 点击工具栏上的“SQL”,或在“视图”菜单中选择“SQL 视图”删掉所有的内容 直接输入SQL语句即可,SQL提供的基本数据类型,定义基本表举例,例6-1使用SQL语句建立学生表S、课程表C和学生选课成绩表SC。解:(1)创建基本表S:CREATE TABLE S(学号 CHAR(4)NOT NULL,姓名 CHAR(8)NOT NULL,年龄 SM
10、ALLINT,性别 CHAR(2),系别 CHAR(20),PRIMARY KEY(学号)要求在实验室完成教材上例题的运行,定义基本表举例(续),例6-1使用SQL语句建立学生表S、课程表C和学生选课成绩表SC。解:(2)创建基本表C:CREATE TABLE C(课程号 CHAR(4)NOT NULL,课程名 CHAR(4)NOT NULL,教师名 CHAR(8),PRIMARY KEY(课程号),定义基本表举例(续),例6-1使用SQL语句建立学生表S、课程表C和学生选课成绩表SC 解:(3)创建基本表SC:CREATE TABLE SC(学号 CHAR(4)NOT NULL,课程号 CH
11、AR(4)NOT NULL,成绩 CHAR(8)SMALLINT,PRIMARY KEY(学号,课程号)FOREIGN KEY(学号)REFERENCES S(学号),FOREIGN KEY(课程号)REFERENCES C(课程号),CHECK(成绩 IS NULL)OR(成绩 BETWEEN 0 AND 100),2.修改基本表,在基本表中增加列:ALTER TABLE ADD 例6-2在例6-1的学生基本表S中增加一个属性“家庭地址”:ALTER TABLE S ADD 家庭地址 VARCHAR(40)在基本表中删除列:ALTER TABLE DROP 这里,可以取CASCADE和 RE
12、STRICT两种方式。例6-3在学生基本表S中删除一个属性“系别”:ALTER TABLE S DROP 系别 CASCADE或 ALTER TABLE S DROP 系别 RESTRICT,撤销基本表,撤销基本表语句:DROP TABLE 可以取CASCADE和 RESTRICT两种方式。例6-4若要撤销学生基本表S,可用下列语句实现:DROP TABLE S CASCADE 或 DROP TABLE S RESTRICT,定义索引,定义索引语句:CREATE UNIQUE INDEX ON(,.)PCTFREE=例6-5在学生基本表S的列“学号”上按升序建立索引:CREATE UNIQUE
13、 INDEX SNOINDEX ON S 学号 ASC)在基本表CS的列“成绩”、“学号”上按降序建立索引:CREATE INDEX GRADEINDEX ON S(成绩 DESC 学号 DESC),撤销索引,撤销索引语句:DROP INDEX 注意:如果撤销某一个基本表,则该基本表上建立的所有索引将被一起撤销。例6-6若要撤销学生基本表S上的索引SNOINDEX,则可用下列语句实现:DROP INDEX SNOINDEX,6.4 SQL的数据查询操作,数据查询语句是SQL的核心,是SQL数据操纵功能的重要组成部分。SQL的查询语句使用非常灵活,功能十分强大,它可以实现:简单查询多表查询嵌套查
14、询,6.4.1 SQL的数据查询语句,数据查询语句的一般形式:SELECT FROM WHERE GROUP BY HAVING ORDER BY 数据查询语句的组成:SELECT子句FROM子句WHERE子句GROUP BY子句ORDER BY子句,SQL数据查询语句的含义,根据WHERE子句中的从由指定的基本表或视图中找出满足条件的元组,按SELECT子句中的选出元组中的分量,形成查询结果。如果有ORDER子句,则将结果根据指定的按所指定的顺序排列(选ASC为升序,选DESC为降序)。如果有 GROUP子句,则将查询结果按进行分组,每组产生结果表中的一个元组,分组的附加条件用 HAVING
15、 短语中的 给出。,SQL数据查询语句中的语法成分,SELECT子句中的可以是“*”或。“*”表示查询结果是整个元组;是用逗号分隔的项(属性名、常数或系统内部函数),当指定了时,查询结果将是由所指定的列。WHERE子句中的实现各种复杂查询,其中可以使用下列运算符:算术运算符:、-、*、/比较运算符:、逻辑运算符:AND、OR、NOT集合运算符:UNION(并)、INTERSECT(交)、EXCEPT(差)集合成员运算符:IN(属于)、NOT IN(不属于)谓词:EXISTS(存在量词)、ALL、SOME、UNIQUE系统内部函数:常用的系统内部函数如表6-2所示。,表6-2 SQL数据查询语句
16、中常用的系统内部函数,6.4.2 简单查询举例,简单查询:在单个基本表上的查询,不涉及多个基本表的连接查询和嵌套查询等复杂的情况。例6-7在基本表S中查询全体学生的详细信息:SELECT*FROM S 该查询语句等价于:SELECT 学号,姓名,年龄,性别,系别 FROM S,简单查询举例,例6-8在基本表S中查询计算机科学与工程系和电气工程系学生的学号、姓名和年龄:SELECT 学号,姓名,年龄 FROM S WHERE 系别计算机科学与工程系OR 系名电气工程系该查询语句等价于:SELECT 学号,姓名,年龄 FROM S WHERE 系别 IN(计算机科学与工程系,电气工程系),简单查询
17、举例,例6-9在基本表S中查询年龄在1820岁学生的姓名和性别:SELECT 姓名,性别 FROM S WHERE 年龄 18 AND 年龄 20该查询语句等价于:SELECT 姓名,性别 FROM S WHERE 年龄 BETWEEN 18 AND 20,例6-10在基本表S中查询所有男学生的学号、姓名和出生年份:SELECT 学号,姓名,2004-年龄 FROM S WHERE 性别 男例6-11在基本表S中查询计算机科学与工程系女学生的总数和平均年龄,可用以下查询语句实现:SELECT COUNT(*),AVG(年龄)FROM S WHERE 系别计算机科学与工程系AND 性别女,例6-
18、12在基本表SC中查询有课程号为C001的课程成绩学生的学号、和成绩,查询结果按成绩降序排列:SELECT 学号,成绩 FROM SC WHERE 课程号C001 ORDER BY DESC,6.4.3 多表查询举例,多表查询:查询涉及两个或两个以上基本表,又称为连接查询。例6-13在基本表S、C和SC中查询选修课程号为C001学生的学号和姓名。SELECT S.学号,姓名 FROM S,SC WHERE S.学号SC.学号 AND 课程号C001通过条件“S.学号SC.学号”实现基本表S和SC的连接,称该条件为连接条件或连接谓词。“S.学号”表示基本表S中的属性名“学号”,“SC.学号”表示
19、基本表SC中的属性名“学号”,以区分不同基本表中相同的属性名,对于仅出现在一个基本表中的属性名可以不加前缀。该查询语句在执行时,先要对S和SC做笛卡尔积运算,然后再根据条件“课程号C001”选择出符合要求的元组和列。,例6-14在基本表S、C和SC中查询选修课程名为“操作系统”学生的学号和姓名。SELECT S.学号,姓名 FROM S,C,SC WHERE S.学号SC.学号 AND C.课程号SC.课程号 AND 课程名操作系统条件“S.学号SC.学号 AND C.课程号SC.课程号”实现基本表S、C和SC的连接执行笛卡尔积运算后再根据条件“课程名操作系统”选择出符合要求的元组和列。,6.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 及其 应用

链接地址:https://www.31ppt.com/p-5985740.html