第一章
1.数据库系统概述
1.1数据库技术基本术语1.2数据模型
两类数据模型数据的三个范畴数据模型的组成要素及分类 第三章、结构化查询语言SQL
3.SQL概述
3.2数据定义语句
基本表的定义基本表的修改基本表的删除 3.3数据查询
第一章 1.数据库系统概述 1.1数据库技术基本术语- 数据:描述事物的符号记录。
数据与语义(含义)密不可分。数据库(Database,简称DB)
定义:长期存放在计算机存储设备上有组织的、可共享的、相关的数据集合。
特征:数据按一定的数据模型组织、描述和存储;可为各种用户共享;冗余度较小;数据独立性较高;易扩展。(数据库系统DBS的核心,是被管理的对象)数据库管理系统(DBMS):专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间,负责对DB进行管理和维护。数据库系统(DBS):具有管理和控制数据库功能的计算机系统。
数据库系统简称数据库。
数据库系统的5个组成部分:
硬件系统数据库DB数据库管理系统DBMS相关软件(支持软件,如操作系统等;应用开发工具软件等)数据库系统用户:
a.数据库管理员(DBA):负责数据库管理和维护操作。
b.数据库设计者:负责数据库中数据的确定、存取方式、数据库最后的定义等。
c.最终用户:数据库的主要用户,对数据库提出查询和更新等操作要求。
最终用户分三类:偶然用户、简单用户、复杂用户。
d.系统分析员:负责分析最终用户需求,对这些需求做出数据库事务的准确定义。
e.应用程序员:把系统分析员提供的数据事务定义编制成计算机软件,并进行编码、测试、维护。
数据库系统的主要特征
- 实现数据共享减少数据冗余度保持数据的一致性数据的独立性安全保密性并发控制故障恢复
在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
两类数据模型数据模型应满足的三方面要求:
- 能比较真实地模拟现实世界;容易理解;便于在计算机上实现
第一类:概念层数据模型(信息模型)用于数据库设计
第二类:组织层数据模型
逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等。
现实世界
信息世界
相关术语:
a. 实体(Entity):客观存在并可相互区别的事物。
b.实体集(Entity Set):性质相同的同类实体的集合。
c.属性(Attribute):实体所具有的某一特性。
d.码(key):唯一标识实体的属性或属性集。
机器世界相关术语;
a.字段(数据项):标记实体属性的命名单位,是可以命名的最小信息单位,往往和属性名相同。
b.记录:字段的有序集合称为记录。一般用一个记录描述实体集的。
c.文件:同一类记录的汇集称为文件。文件是描述实体集的。
d.码:能唯一标识文件中每个记录的字段或字段集,与实体的码相对应。
1.数据结构:所研究对象类型的集合。一类对象与数据类型、内容、性质相关,另一类对象与数据间的联系有关。
数据结构在数据模型中的地位:数据模型中的数据结构是刻画一个数据模型性质的最重要方面,人们通常按数据结构类型来命名数据模型。数据库中的数据结构有三种:关系结构、层次结构、网状结构。数据结构是对系统静态特性的描述。
2.数据操作:
现实世界的信息对应计算机世界的数据结构,现实世界信息的处理对应计算机世界的数据操作。主要有检索和更新(包括插入、删除、修改)两大操作。是指对数据库中各种对象(型)和实例(值)允许执行的操作集合,包括操作及有关操作规则。数据操作是对系统动态性的描述。
3.完整性约束:
一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用一限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确性、有效性和相容性。
数据模型分为两大类(分属两个不同的层次)
- 概念模型(信息模型)
按用户的观点来对数据和信息建模,用于数据库设计(E—R图和UML对象模型)。
用途:
a.概念模型用于信息世界的建模
b.是现实世界到机器世界的一个中间层次
c.是数据库设计的有力工具
d.数据库设计人员和用户之间进行交流的语言结构化数据模型
对数据最底层的抽象,直接面向数据库的逻辑结构,是现实世界的第二层次抽象,描述数据在系统内部的标识和存取方法,在磁带或磁盘上的存储方式和存取方法。
第三章、结构化查询语言SQL 3.SQL概述设计E-R图的过程:
确定所有实体的集合选择实体集应包含的属性确定实体集之间的联系确定联系的类型
SQL:Structured Query Language,结构化查询语言。
SQL语言的特点:
1.综合统一
2.高度非过程化
3.面向集合的操作方式
4.以同一种语法结构提供两种使用方式
5.语言简洁、易学易用
| SQL功能 | 操作符 |
|---|---|
| 数据查询 | SELECt |
| 数据定义 | CREATE、DROP、ALTER |
| 数据操纵 | INSERT、UPDATE、DELETE |
| 数据控制 | GRANT、REVOKE |
SQL的数据定义语句
基本表的定义CREATE TABLE<表名> (<列名><数据类型> [列级完整性约束条件] [,<列名><数据类型>[列级完整性约束条件]]...[,表级完整性约束条件]);
T-SQL创建表语句中常用完整性约束
- 主码约束: PRIMARY KEY唯一性约束: UNIQUE非空值约束: NOT NULL参照完整性约束: FOREIGN KEY REFERENCES 引用表名(引用列)检查约束: CHECK(检查表达式)默认值约束: DEFAULT 默认值
ALTER TABLE<表名> [ADD<新列名><数据类型>[完整性约束条件]] [DROP COLUMN<列名><完整性约束名>] [ALTER COLUMN<列名><数据类型>];
添加check约束:
Alter table salvaging add constraint ck_salvaging check(end_date>=start_date)
创建UNIQUE约束:
ALTER TABLE salvaging ADD CONSTRAINT t_123 UNIQUE(prj_name)
删除约束:
Alter table salvaging drop constraint ck_salvaging
添加一个外键约束
alter table out_stock add constraint Fk_stock_out_stock foreign key(mat_no) references stock(mat_no)基本表的删除
DROP TABLE<表名>
如:DROP TABLE out_stock;
注意:如果要被删除的基本表不能被其他表的约束所引用,如果存在这些依赖该表的对象,则此表不能被删除。基本表一旦被删除,则表中的数据,以及在其基础上建立的索引和试图都将自动删除。
查询时对现有的基本表和视图进行数据查询,并不改变数据本身,是数据库的核心操作。
一般格式:
SELECT[ALL|DISTINCT]<目标列表表达式> FROM<表名或视图名> [WHERe<条件表达式>] [GROUP BY<列名1>[HAVINg<条件表达式>]] [ORDER BY<列名2>[ASC|DESC]];
执行过程:
(1)读取FROM子句中基本表、视图的数据,执行笛卡儿积操作;
(2)选取满足WHERe子句中给出的条件表达式的元组;
(3)按GROUP子句中指定列的值分组,同时提取满足 HAVINg子句中组条件表达式的那些组;
(4)按SELECT子句中给出的列名或列表达式求值输出;
(5)ORDER子句对输出的目标表进行排序,可选择升序或降序.



