第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.

Slides:



Advertisements
Similar presentations
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
Advertisements

Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
An Introduction to Database System
第6章 数据库管理软件Access 年秋.
Visual Foxpro程序设计 张文祥 主编 主讲教师: 李勤.
第13章 数据库的基本应用 Visual Basic 程序设计教程.
数据库系统概论 An Introduction to Database Systems
第2讲 Transact-SQL语言.
第六章 資料倉儲與採礦技術 6.1 資料倉儲與採礦定義 6.2 資料採礦之步驟與技術分類 6.3 資料採礦在顧客關係管理之應用
第8章 数据库技术基础 数据库可以直观地理解为存放数据的仓库,只 不过这个仓库是在计算机的大容量存储器上。
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
数据库技术 实践.
第2章 数据模型 2.1 实体联系模型 2.2 关系模型 2.3 面向对象的数据模型 习 题 2.
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
Principles and Applications of the Database
資料庫 (Database) SQL Server 2008實作
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
文科计算机小公共课规划教材 Access 程序设计.
第一讲 数据查询优化.
第6章 資料庫管理系統 6-1 關聯式資料庫管理系統 6-2 SQL Server資料庫管理系統
資料庫設計 Database Design.
第1章 数据库基础 1.1 数据库基本概念 数据处理 数据(Data)是对客观事物的某些特征及其相互联系的一种抽象化、符号化表示。 例如:王华出生日期为1970年7月12日,身高1.75m,体重65kg,部门代码A01,职称是副教授,其中王华、1970年7月12日、1.75m、65kg、A01、副教授等都是数据.
数据库管理软件 Access 2003的使用 安丘市职业中专 雷云龙 1.
数据库原理与应用     制作人:王春玲         黄金燕         张惠萍         陈志泊 人民邮电出版社.
Chapter 5 Relational Algebra
關聯式資料庫.
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
PowerBuilder战略方向. PowerBuilder战略方向 应用开发的基本途径 Other 13% 3GLs 4GL/RAD 23% 36% OO 3GLs Source: IDC 28%
9 SELECT敘述的進階查詢 9-1 SQL的多資料表查詢 9-2 合併查詢 9-3 集合運算查詢 9-4 子查詢
資料庫程式設計 VB資料庫設計簡介 週次:4 建國科技大學 資管系 饒瑞佶.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
(Exec1) GIS 空间分析-使用ArcGIS (Exec1)
Microsoft SQL Server 2000 李金双.
Chap 3 資料庫模型與處理架構.
資料庫安全 (Database Security)
彰化縣政府補助辦理網頁設計資料庫應用班 資料庫簡介 建國技術學院資管系 饒瑞佶.
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
第2章 ADO.NET 2.0概述.
SQL Server 2000 数据库入门.
計算機概論 第十章 檔案與資料庫管理系統 陳維魁/陳邦治 旗標出版社.
AnQing Teachers College Department of Computer & Information
資料庫系統導論.
An Introduction to Database System An Introduction to Database System
第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第20章 MySQL数据库.
CH03 行銷資訊系統資料庫模組--資料庫概論
Microsoft Access 第四組 周執中.
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
CS, ZJU 4/18/2019 Chapter 7 数据库.
计算机文化 第7讲:数据库技术 王哲 河南中医药大学信息技术学院.
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
数据透视表与SQL典型应用 ——数据分析人士必杀技
第14章 SQL数据查询与操纵 内容提要 本章知识点
SQL查询语句 蔡海洋.
VB与数据库 数据库连接与查询.
HOOK和数据库访问 主讲人:孙鑫
第3章 关系数据库 内容提要 关系模型的数据结构 关系模型的常用术语 关系数据库的完整性概念 数据库的关系运算 函数依赖的定义
数据分析工具 第10节.
資料庫應用與實作 一到六章重點、習題.
第4章 数据查询.
Web安全基础教程
第 9 章 查詢資料- 善用 SELECT 敘述.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇

第二节 关系数据库 概述 关系模型 SQL语言 Arcview tables 应用实例(人事管理信息系统)

一 概述 系统而严格地提出关系模型的是美国IBM公司的E.F.Codd 1970年提出关系数据模型 一 概述 系统而严格地提出关系模型的是美国IBM公司的E.F.Codd 1970年提出关系数据模型 E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, 《Communication of the ACM》,1970 之后,提出了关系代数和关系演算的概念 1972年提出了关系的第一、第二、第三范式 1974年提出了关系的BC范式

一 概述(续) 典型实验系统 System R University INGRES 典型商用系统 ORACLE SYBASE 一 概述(续) 典型实验系统 System R University INGRES 典型商用系统 ORACLE SYBASE INFORMIX DB2 INGRES

二 关系数据模型 20世纪80年代以来,关系型数据库理论日益成熟并得到空前广泛的应用。关系数据模型成为主流数据模型 单一的数据结构----关系 现实世界的实体以及实体间的各种联系均用关系来表示 数据的逻辑结构----二维表 从用户角度,关系模型中数据的逻辑结构是一张二维表。

两个实体型间的联系 实体型1 联系名 实体型2 1 1:1联系 m n m:n联系 1:n联系

Relational Model No hierarchy of entities; records are simply stored as a set of tuples A tuple is a set of permanantly related fields. Also called a table, or file. One-to-one or many-to-one relationships are encoded

关系数据模型的特点 (1) 能够以简单、灵活的方式表达现实世界中各种实体及其相互间关系。 (2)关系模型具有严密的数学基础和操作代数基础—如关系代数、关系演算等。

关系代数 专门的关系运算 选择 投影 连接 除 传统的集合运算 并 差 交 广义笛卡尔积

1. 并(Union) R和S 具有相同的目n(即两个关系都有n个属性) 相应的属性取自同一个域 R∪S R∪S = { t|t  R∨t S }

并(续) A B C a1 b1 c1 b2 c2 a2 R A B C a1 b1 c1 b2 c2 b3 a2 R∪S A B C a1 Select * from R and S A B C a1 b2 c2 b3 a2 c1 S

2. 差(Difference) R - S 仍为n目关系,由属于R而不属于S的所有元组组成  R -S = { t|tR∧tS }

差(续) A B C a1 b1 c1 b2 c2 a2 R A B C a1 b1 c1 R-S A B C a1 b2 c2 b3 a2

3. 交(Intersection) R∩S 仍为n目关系,由既属于R又属于S的元组组成 R∩S = { t|t  R∧t S } R∩S = R –(R-S)

交 (续) A B C a1 b1 c1 b2 c2 a2 R A B C a1 b2 c2 a2 c1 R ∩ S A B C a1 b2

4. 广义笛卡尔积 (Extended Cartesian Product) n目关系,k1个元组 S m目关系,k2个元组 R×S 列:(n+m)列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行:k1×k2个元组 R×S = {tr ts |tr R ∧ tsS }

广义笛卡尔积 (续) A B C A B C A B C a1 b1 c1 b2 c2 a2 R A B C a1 b2 c2 b3 a2 R × S A B C a1 b2 c2 b3 a2 c1 S

三 SQL语言 ——结构化查询语言 是一种用于存取和查询数据,更新并管理关系数据库系统的数据库查询和编程语言。 Transact-SQL是增强的SQL。

SQL语言主要组成部分 数据定义语言— 定义和管理数据库 数据操作语言—查询添加修改和删除数据库中数据 包括CREATE、ALTER和DROP等语句 数据操作语言—查询添加修改和删除数据库中数据 包括SELECT、INSERT、UPDATE、DELETE等 数据控制语言—设置或者更改数据库权限 包括GRANT、DENY、REVOKE等语句

查询数据库(SELECT子句) 1、命令基本格式: SELECT 选择列表 FROM 表的列表 WHERE 查询条件 2、说明:   ①选择列表—可包括几个列名或表达式,用逗号隔开,         指示返回哪些数据。   ②表的列表—包括提供数据的表或视图的名称。   ③每一个SELECT子句必须有一个FROM 子句。

a∪b Select实现集合运算 使用union实现combinition Select * from t1 Union from t2

a∩b a-b Select实现集合运算(续) 使用exists和no exists实现intersection和difference from t1 Where exists (select * from t2) a∩b intersection Select * from t1 Where not exists (select * from t2) a-b difference

对多个表或视图进行查询 条件连接 例:查询学生信息和学生相应的班级 USE XK GO SELECT * FROM Class,Student WHERE Class.ClassNo=Student.ClassNo ①笛卡尔积 多表的无条件连接 例:将班级表与学生表连接 USE XK GO SELECT * FROM Class,Student 例:查询各班可以选择的非本系开设的选修课程信息 USE XK SELECT ClassName,Couname,Kind,Credit,Teacher FROM Class,Course WHERE Class.DepartNo<>Course.DepartNo 例:查询“01电子商务”班的学选修课程情况,要求显示班级名称、学号、姓名、课程名、课程类别、学分、教师、上课时间、报名人数 SELECT ClassName,Student.StuNo,StuName, CouName,Kind,Credit,Teacher, SchoolTime,WillNum FROM Class,Student,Course,StuCou WHERE Class.ClassNo=Student.ClassNo AND Student.StuNo=StuCou.StuNo AND StuCou.CouNo=Course.CouNo AND ClassName=’01电子商务’ 查询语句的其它功能 ①使用ORDER BY子句重新排序查询结果 (ASC表示升序,DESC表示降序,默认升序) ②使用COMPUTE BY子句计算总计或进行小分组计并进行排序 例:按类显示课程表的课程编码、课程名称、课程分类、 报名人数,并计算每类课程的平均报名人数。 USE XK SELECT CouNo,CouName,Kind,WillNum FROM Course ORDER BY Kind COMPUTE AVG(WillNum) BY Kind ③使用GROUP BY子句对查询结果按指定列进行分组 例:按课程分类统计平均报名人数 USE XK SELECT ’课程分类’=Kind, ’每类平均报名人数’=AVG(WillNum) FROM Course GROUP BY Kind ④使用UNION运算符将多个查询结果合并成一个 例:从班级表中查询班级名称,从系部表中查询系部名称,并将两个查询结果合并 SELECT ClassName FROM Class UNION SELECT DepartName FROM Department

Relational model

四 Arcview tables A table is an Arcview object that allows the user to access and modify a source data file source data files may be dbase (.dbf), info, or text (.txt) files you may also connect to an SQL database like Oracle for source data tables may be reformatted, sorted, etc. without changing the data on the disk Opening the file for editing allows the source data to be modified

Arcview tables Two types of source tables in Arcview Attribute Tables are linked to a theme Others are not connected to a theme--they are simply data

Table statistics From menu Table Statistics Uses only the selected set

Calculating fields Numeric or string 要求编辑的状态!!!

Summarize a table what’s the average county population for each state? What’s the total population of each state from all counties? 选中字段!!!

Joining tables Connect two tables using a common fieldNow the new data are ALSO linked to the map Does not change the source data on the disk 选中两张表的同名字段!!!!

Types of joins-1 Use the Arcview Join button

Types of joins-2 Also knows as a look-up table A way to save space when storing the same info over and over

Lookup tables

Linking Use the Arcview link feature

四 应用实例 人事管理针对我国目前人事管理现状以及未来的发展趋势将人事管理思想融入其中,充分体现了现代人事管理新思想。主要功能是完成了对大量人事档案信息的系统化管理。包括新档案的录入,对存档数据的更新、删除、修改、综合查询;帮助等。通过计算机使人事档案管理步入了自动化,科学化管理的行列。 本系统是在Windows2000的环境下,用Visual Basic6.0 开发的信息管理系统。

VB可访问的数据库 VB默认的数据库格式与Access格式相同,其默认的数据库文件(.mdb)称为内部数据库。除此之外,在VB中还可以访问: 外部数据库,如dBASE、FoxPro、Paradox等ISAM(索引顺序访问方法)数据库,以及Lotus123和Excel等电子表格数据列表 ODBC(开放式数据互接)数据库,如SQLServer等

数据库访问技术 1. VB数据库应用程序的组成: 用户界面、数据库引擎和数据库 (VB提供的是Microsoft Jet数据库引擎) Data控件:提供无需编程就能访问数据库的能力。实际应用时,还需绑定其它控件,并编写简单的程序代码。 数据访问对象(DAO):供了一个由一系列对象和集合组成的分层结构模型,可方便地访问和处理数据库。 3. ActiveX数据对象(ADO) 建立在被称为OLE DB的最新数据访问接口之上的高性能的、统一的数据访问对象。

应用实例 该系统采用模块化设计,根据人事管理系统的实际情况,研究开发的一套管理系统。

界面

界面

总结 关系数据库组织简单,便于理解和交流 关系数据库应用数学方法来处理数据库中的数据 关系数据库系统成为最重要的数据库系统

课堂练习 使用SQL实现关系数据库的并、差、交、积 使用SQL实现多表的关联(下图)