第6章 数据库系统及其应用.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
计算机软件技术基础计算机软件技术基础 数据库系统( 3 ). 第 2 页 4.3 关系数据库语言 SQL 关系数据库 SQL ( Structured Query Language )语言是关系 数据库的标准语言,对关系模型的发展和商用 DBMS 的研制起 着重要的作用。 SQL 发展历史  1986.
Chapter 3: SQL.
数据库系统概述 数据模型 关系数据库和SQL语言 关系数据库操作 数据仓库和数据挖掘简介 小结和习题
第6章 数据库管理软件Access 年秋.
目 录 第 1 章 数据库技术基础 第 2 章 SQL Server基础 第 3 章 数据库管理 第 4 章 查询和视图
第5章 关系数据库标准语言SQL 主讲:张丽芳.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
数据库系统概论 华中科技大学能源与动力工程学院
数据库及应用 授课教师:岳静 教学网站: Tel:
第2讲 Transact-SQL语言.
数据库原理 Database Principles 第三章 关系数据库标准语言SQL(续1).
An Introduction to Database System An Introduction to Database System
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
数据库技术 实践.
Chap 11 SQL基本查詢指令.
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
第1章 数据库基础知识 1.1 数据处理技术的发展 1.2 数据抽象与模型 1.3 关系模型.
计算机应用基础 上海大学计算中心.
数据库原理 Database Principles 第五章 数据库完整性 Database Principles.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
请写出下列查询语句并给出结果 1、列出student表中所有记录的sname、sex和class列。
《数据库原理及应用》课程介绍 信息工程学院 孙俊国
9 SELECT敘述的進階查詢 9-1 SQL的多資料表查詢 9-2 合併查詢 9-3 集合運算查詢 9-4 子查詢
課程名稱:資料庫系統 授課老師:李春雄 博士
实验二 交互式SQL 邓云.
第4章 SQL语言基础及数据库定义 4.1 基本概念 4.2 SQL Server 提供的主要数据类型 4.3 数据定义.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
Chap 10 SQL定義、操作與控制指令.
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
第三章作业讲评 文洁 2012/4/10.
SQL SERVER 一些经典语句 1.
SPARQL若干问题的解释 刘颖颖
数据库基础 1.
作业3-点评.
段磊 王慧锋 TEL: qq群: 数据库系统原理课程设计 实验环节2 段磊 王慧锋 TEL: qq群:
第二章 Java语言基础.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
資料庫系統 李翊豪 2017/12/21 Reference
SQL 范引娣.
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
SQL查询语句 蔡海洋.
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
第 7 章 建立資料表與資料庫圖表.
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
第4章 Excel电子表格制作软件 4.4 函数(一).
8 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
1.把下面的关系模式转化为E-R图 1)系(系号,系名,电话) 2)教师(工号,姓名,性别,年龄,系号)
Visual Basic程序设计 第13章 访问数据库
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
基于列存储的RDF数据管理 朱敏
VB与Access数据库的连接.
WEB程序设计技术 数据库操作.
資料庫應用與實作 一到六章重點、習題.
第4章 数据查询.
Chapter 14 Databases.
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

第6章 数据库系统及其应用

相关课程 数据库原理及应用 ASP编程技术 数据挖掘 VC++程序设计 Java语言程序设计

数据库系统的定义 数据库系统:是在数据库系统中实现对数据进行管理的软件系统,它是数据库系统的重要组成部分和核心,由数据库、数据库管理系统、数据库管理员、数据库应用程序以及用户五部分组成。 数据库(Data Base,DB):是统一管理的相关数据的集合。 数据库管理系统(Data Base Management System, DBMS):是对数据库进行管理的软件,它是数据库系统的核心。

数据库系统的定义(续) 数据库管理员(Data Base Administrator,DBA):是对数据库进行规划、设计、协调、维护和管理的IT技术人员。 数据库应用程序:是使用数据库语言开发的、能够满足数据处理需求的应用程序。 用户:用户可以通过数据库管理系统直接操纵数据库,或者通过数据库应用程序来操纵数据库

数据库系统的组成 数 据 库 数据库管理系统 应用 程序 用户 数据库管理员

数据库管理系统的功能 数据库定义功能 数据库操纵功能 数据库事务管理功能 数据库维护功能 格式转换以及网络通信等其他功能

数据库管理系统的类型 层次型数据库:采用层次数据模型,即使用树型结构来表示数据库中的记录及其联系。 网状型数据库:采用网状数据模型,即使用有向图(网络)来表示数据库中的记录及其联系。 关系型数据库:关系型数据库采用关系数据模型,即使用二维表格的形式来表示数据库中的数据及其联系。由于关系模型比较简单、易于理解且有完备的关系代数作为其理论基础,所以被广泛使用。 面向对象数据库:采用面向对象数据模型,是面向对象技术与数据库技术相结合的产物。在面向对象数据库中使用了对象、类、实体、方法和继承等概念,具有类的可扩展性、数据抽象能力、抽象数据类型与方法的封装性、存储主动对象以及自动进行类型检查等特点。

数据库语言 结构化查询语言(Structured Query Language, SQL):是一种基于关系代数和关系演算的的数据操纵语言,目前一般都采用SQL作为共同的数据操纵语言和标准接口,是数据库领域的一种主流语言。

SQL的数据定义操作-定义基本表 基本表定义语句的一般形式: CREATE TABLE <基本表名> (<属性名1> <数据类型1>[NOT NULL], [<属性名2> <数据类型2>[NOT NULL]] , ... [<完整性约束>])

SQL提供的基本数据类型 数 据 类 型 说 明 CHAN(n) 长度为n的定长字符串 VARCHAR(n) 最大长度为n的变长字符串 说 明 CHAN(n) 长度为n的定长字符串 VARCHAR(n) 最大长度为n的变长字符串 全字长整数 SMALLINT 半字长整数 NUMERIC(p,d) 由p位数字(不包括符号和小数点)组成的定点数,小数点后面有d位数字 REAL 浮点数 DOUBLE RECISION 双精度浮点数 FLOAT(n) 精度至少为n位数字的浮点数 DATE 日期,形如YYYY-MM-DD(年-月-日) TIME 时间,形如HH:MM:SS(时:分:秒)

定义基本表举例 〖例6-1〗使用SQL语句建立学生表S、课程表C和学生选课成绩表SC。 解:(1)创建基本表S: CREATE TABLE S (学号 CHAR(4)NOT NULL,姓名 CHAR(8)NOT NULL, 年龄 SMALLINT,性别 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)创建基本表CS: CREATE TABLE SC (学号 CHAR(4)NOT NULL, 课程号 CHAR(4)NOT NULL, 成绩 CHAR(8)SMALLINT, PRIMARY KEY (学号,课程号) FOREIGN KEY (学号)REFERENCES S(学号), FOREIGN KEY (课程号)REFERENCES C(课程号), CHECK (成绩 IS NULL )OR(成绩 BETWEEN 0 AND 100))

修改基本表 在基本表中增加列: ALTER TABLE <基本表名> ADD <属性名> <数据类型> 〖例6-2〗在例6-1的学生基本表S中增加一个属性“家庭地址”: ALTER TABLE S ADD 家庭地址 VARCHAR(40) 在基本表中删除列: ALTER TABLE <基本表名> DROP <属性名> <删除方式> 这里, <删除方式>可以取CASCADE和 RESTRICT两种方式。 〖例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 <基本表名> (<属性名1>[<次序>][ ,<属性名2>[<次序>]] ...) [PCTFREE={<整数>}] 〖例6-5〗在学生基本表S的列“学号”上按升序建立索引: CREATE UNIQUE INDEX SNOINDEX ON S 学号 ASC) 在基本表CS的列“成绩”、“学号”上按降序建立索引: CREATE INDEX GRADEINDEX ON S(成绩 DESC 学号 DESC)

撤销索引 撤销索引语句: DROP INDEX <索引名> 注意:如果撤销某一个基本表,则该基本表上建立的所有索引将被一起撤销。 〖 〖例6-6〗若要撤销学生基本表S上的索引SNOINDEX,则可用下列语句实现: DROP INDEX SNOINDEX

SQL的数据查询操作 数据查询语句是SQL的核心,是SQL数据操纵功能的重要组成部分。 简单查询 连接查询 嵌套查询

SQL的数据查询语句 数据查询语句的一般形式: SELECT <目标属性> FROM <基本表名或视图名>[WHERE <条件表达式>] [GROUP BY <属性名1>[ HAVING <条件表达式>]] [ORDER BY <属性名2>[<次序>]] 数据查询语句的组成: SELECT子句 FROM子句 WHERE子句 GROUP BY子句 ORDER BY子句

SQL数据查询语句的含义 根据WHERE子句中的<条件表达式>从由<基本表名或视图名>指定的基本表或视图中找出满足条件的元组,按SELECT子句中的<目标属性>选出元组中的分量,形成查询结果。 如果有ORDER子句,则将结果根据指定的<属性名2>按<次序>所指定的顺序排列(选ASC为升序,选DESC为降序)。 如果有 GROUP子句,则将查询结果按<属性名1>进行分组,每组产生结果表中的一个元组,分组的附加条件用 HAVING 短语中的 <条件表达式> 给出。

SQL数据查询语句中的语法成分 SELECT子句中的<目标属性>可以是“*”或<选择列表>。 “*”表示查询结果是整个元组; <选择列表>是用逗号分隔的项(属性名、常数或系统内部函数),当指定了<选择列表>时,查询结果将是由<选择列表>所指定的列。 WHERE子句中的<条件表达式>实现各种复杂查询,其中可以使用下列运算符: 算术运算符:+、-、*、/ 比较运算符:<、<=、=、>=、>、≠ 逻辑运算符:AND、OR、NOT 集合运算符:UNION(并)、INTERSECT(交)、EXCEPT(差) 集合成员运算符:IN(属于)、NOT IN(不属于) 谓词:EXISTS(存在量词)、ALL、SOME、UNIQUE 系统内部函数:常用的系统内部函数如表6-2所示。

SQL数据查询语句中常用的系统内部函数

SQL数据查询语句中常用的系统内部函数 函数名称 一般形式 含 义 平均值 AVG([DISTINCT] <属性名>) 求和 SUM([DISTINCT] <属性名>) 求列的和,有DISTINCT 选项时只计算不同值 最大值 MAX(<属性名>) 求列的最大值 最小值 MIN(<属性名>) 求列的最小值 计数 COUNT(*) COUNT(DISTINCT)<属性名>) 统计结果表中元组的个数 统计结果表中不同属性名值元组的个数

简单查询举例 简单查询:在单个基本表上的查询,不涉及多个基本表的连接查询和嵌套查询等复杂的情况。 〖例6-7〗在基本表S中查询全体学生的详细信息: SELECT * FROM S 该查询语句等价于: SELECT 学号,姓名,年龄 ,性别,系别 FROM S

简单查询举例 〖例6-8〗在基本表S中查询计算机科学与工程系和电气工程系学生的学号、姓名和年龄: SELECT 学号,姓名,年龄 FROM S WHERE 系别=‘计算机科学与工程系’OR 系名=‘电气工程系’ 该查询语句等价于: WHERE 系别 IN (‘计算机科学与工程系’,‘电气工程系’)

简单查询举例 〖例6-9〗在基本表S中查询年龄在18~20岁学生的姓名和性别: SELECT 姓名,性别 FROM S WHERE 年龄 >= 18 AND 年龄 <= 20 该查询语句等价于: WHERE 年龄 BETWEEN 18 AND 20

简单查询举例 〖例6-10〗在基本表S中查询所有男学生的学号、姓名和出生年份: SELECT 学号,姓名,2004-年龄 FROM S WHERE 性别 =‘男’ 〖例6-11〗在基本表S中查询计算机科学与工程系女学生的总数和平均年龄,可用以下查询语句实现: SELECT COUNT(*),AVG(年龄)FROM S WHERE 系别=‘计算机科学与工程系’AND 性别=‘女’

简单查询举例 〖例6-12〗在基本表SC中查询有课程号为C001的课程成绩学生的学号、和成绩,查询结果按成绩降序排列: SELECT 学号,成绩 FROM SC WHERE 课程号=‘C001’ ORDER BY DESC

本章小结 本章在阐述数据库系统的定义、发展、分类、体系结构等基本概念的基础上, 较详细地介绍了结构化查询语言SQL的数据定义操作、数据查询操作、数据更新操作和视图操作的基本方法,并介绍了一些新型的数据库系统。此外,还介绍了数据库在信息系统中的应用。 通过本章的学习,应理解数据库系统的基本概念和基本知识,掌握SQL的数据定义、数据查询、数据更新和视图等操作方法,了解分布式数据库、多媒体数据库、并行数据库、演绎数据库系统、主动数据库和数据仓库的功能、特点和主要实现技术,了解数据库技术的应用领域,为后继课程的学习和实际应用打下基础。