Database Management Systems
数据库系统的层次结构:
其三层结构如下:
物理层--->逻辑层--->视图层
实例与模式:
数据库的设计步骤如下:
需求分析--概念库设计(E-R模型)--逻辑库设计(转为关系模型)--结构优化--物理数据库设计--创建并初始化数据库&安全设计
数据库语言 (重要)
数据库定义语言 DDL
数据库操作语言 DML
数据库控制语言 DCL
DDL:
1、指定一个数据库模式与一组关系模式的定义;
2、制定存储方法,访问方法;
3、经过编译后,得到一个数据字典,含义元数据;
DML:
1、数据字典的操作方法;
2、如简单的插入、删除、查找等方法;
3、分为两种,过程化(java)与声明式(sql);
SQL=DDL+DML+DCL
结构化查询语言,可以使用ODBC与宿主语言(java)进行交互;
2、关系数据模型
关系数据模型:
1、关系数据库基于关系模型,表示各组数据之间的关系;
2、关系模型较为简单,适应较为方便;
**3、关系基本结构 **
1、关系基本结构使数据结构查询语言的基础;
!](http://upload-images.jianshu.io/upload_images/3164170-e530261e19739af7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
键、主键、外键和码:
关系代数的简单介绍:
关系代数是查询语言的建立基础:
共有六个基本运算以及四个附加运算;
六个基本运算:select(选择)、union(并)、project(投影)、set difference(集合差)、rename、carstesian product(笛卡儿积)
四个附加运算:
set intersection (交) natural join 自然连接 division 除
assignment (赋值)
SQL语言
CREATE TABLE 来定义SQL关系;
例如:
CREATE TABLE instructor
( ID char(5),
Name char(10),
salary char(20),
primary key(ID) //定义主键
check (salary>0) //存入数据时校验薪资是否符合条件;
//salary 可以为 null值
)
DROP TABLE
删除关于被去掉的所有信息
ALTER TABLE
对已有关系增加属性
ALTER TABLE instructor MODIFY(ID char(10))
DROP TABLE instructor;
数据库的查找与删除;
数据库的循环子查询;
数据库的修改;
相关代码详见SQL教程 http://mooc.study.163.com/learn/ZJU-1000031000?tid=2001382060#/learn/content
下面推荐一个在线练习网站:
http://zh.sqlzoo.net/
下面为几个基本实例:
/*[Read the notes about this table.](http://zh.sqlzoo.net/wiki/Read_the_
notes_about_this_table.)
Observe the result of running this SQL
command to show the name, continent and population of all countries.
*/
SELECT name,continent,population
FROM world
/*[How to use WHERE to filter records.](http://zh.sqlzoo.net/wiki/WHERE_filters)
Show the name for the countries that
have a population of at least 200 million.
200 million is 200000000, there are eight zeros.
SELECT name
*/
FROM world
WHERE population>= 200000000