博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2015.09.06 数据库笔记
阅读量:5109 次
发布时间:2019-06-13

本文共 3171 字,大约阅读时间需要 10 分钟。

第一章
数据模型三要素:数据结构,数据操纵,完整性约束
主要的数据模型:层次模型,网状模型,关系模型
完整性约束:实体完整性,参照完整性,用户定义完整性
数据库管理系统将具有一定结构的数据组成一个集合,它主要具有以下几个特点:
1. 数据的结构化 数据库中的数据并不是杂乱无章、毫不相干的,它们具有一定的组织结构,属于同一集合的数据具有相似的特征。
2. 数据的共享性 在一个单位的各个部门之间,存在着大量的重复信息。使用数据库的目的就是要统一管理这些信息,减少冗余度,使各个
部门共同享有相同的数据。
3. 数据的独立性 数据的独立性是指数据记录和数据管理软件之间的独立。数据及其结构应具有独立性,而不应该去改变应用程序。
4. 数据的完整性 数据的完整性是指保证数据库中数据的正确性。可能造成数据不正确的原因很多,数据库管理系统通过对数据性质进行检
查而管理它们。
5. 数据的灵活性 数据库管理系统不是把数据简单堆积,它在记录数据信息的基础上具有很多的管理功能,如输入、输出、查询、编辑修改
等。
6. 数据的安全性 根据用户的职责,不同级别的人对数据库具有不同的权限,数据库管理系统应该确保数据的安全性。
SQL命令基本分类:
1.数据定义语言DDL
2.数据操作语言DML
3.数据查询语言DQL
4.数据控制语言DCL
5.数据管理命令
6.事务控制命令
1.
CREATE TABLE/INDEX/VIEW
ALTER TABLE/INDEX
DROP TABLE/INDEX/VIEW
2.
INSERT
UPDATA
DELETE
3.
SELECT
4.
ALTER PASSWORD
GRANT(授予)
REVOKE
CREATE SYNONYM(同义字)
5.
START/STOP AUDIT(查账)
6.
COMMIT 保存数据库事务
ROLLBACK 回退
SAVEPOINT 设置标记点用于回退
SET TRANSACTION 设置事务名称
字段:
例如“ID”“姓”“名”
记录:
一行数据
列:
特定字段的全部信息
主键:
例如“ID”
第二章 数据定义
DECIMAL(p,s)           //小数
例如DECIMAL(4,2),则形如99.99
1.DATE
2.TIME
3.DATETIME
4.TIMESTAMP
CREATE TYPE PERSON AS OBJECT
(NAME  VARCHAR(30),
 SSN   VARCHAR(9));
CREATE TABLE EMP_PAY
(EMPLOYEE  PERSON,
 SLKARY    DECIMAL(10,2),
 HIRE_DATA DATE);
默认约束和检查约束还有数据类型都可以实现域完整性
下面是详细资料~
完整性包括
1. 实体完整性
a)      数据行不能存在重复
2. 域完整性
a)      实现了对输入到特定列的数值的限制
3. 引用完整性
a)      要求子表中的相关项必须在主表中存在
b)      如果建立了主表和子表的关系,则:
i.              子表中的相关项目的数据,在主表中必须存在;
ii.             主表中相关项的数据更改了,则子表对应的数据项也应当随之更改;
iii.            在删除子表之前,不能够删除主表;
4. 自定义完整性
实际上,SQL Server创建表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)保证的过程。创建表包括选择字段名称、数据类型、定义是否为空、设置默认值、主键和外键关系、检查约束等。表中没有合适的列作为主键,可以创建标识列。
SQL Server中存在五种约束:
•   约束的目的:确保表中数据的完整型
•   常用的约束类型:
–         主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空
–         唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值。
–         检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束
–         默认约束(Default Constraint):某列的默认值,如我们的男性学员较多,性别默认为“男”
–         外键约束(Foreign Key Constraint):用于两表间建立关系,需要指定引用主表的那列
CREATE DOMAIN MONEY_D AS NUMBER(8.2);
ALTER DOMAIN MONEY_D
ADD CONSTRANT MONEY_CON1
CHECK (VALUE > 5);
一个numeric类型的标度(scale)是小数部分的位数,精度(precision)是全部数据位的数目
第三章
数据库对象:
表、视图、簇、序列、索引、异名
规划:
与某个用户名相关的数据库对象集合,例如该用户创建的数据库对象

USER1.EMPLOYEE_TBL

ID  SERIAL  //则ID自动增加
INSERT INTO TEST_INCREMENT(TESR_NAME)
VALUES('FRED'),('JOE'),('MIKE'),('TED');
CREATE TABLE AS SELECT    //MySQL
SELECT INTO               //MSQLS
create table products2 as select * from products1;
select * into products2 from products1;
drop table products1;
主键约束:
CREATE     TABLE EMPLOYEE
(ID    CHAR(9)      NOT NULL PRIMARY KEY,
 NAME  VARCHAR(40)  NOT NULL UNIQUE,         //唯一性约束
 ...
 PAGER INTERGER(10) NULL);
//PRIMARY KEY (ID) );
//ALTER TABLE EMPLOYEE ADD CONSTRAINT PK PRIMARY KEY (ID, NAME);
外键约束:
CREATE TABLE PAYMENT
(PID    CHAR(9)  NOT NULL,
 ...
 CONSTRANT FK FOREIGN KEY (PID) REFERENCES EMPLOYEE (ID) );
//父表子表关系,引用完整性
//ALTER TABLE PAYMENT ADD CONSTRANT FK FOREIGN KEY (PID) REFERENCES EMPLOYEE (ID);
检查约束:
...
CONSTRAINT CHK CHECK (ZIP = '10000') );
ALTER TABLE EMPLOYEE DROP CONSTRAINT PK;
ALTER TABLE EMPLOYEE MODIFY MIDDLE_NAME VARCHAR(20), NOT NULL
ALTER TABLE EMPLOYEE ADD COLUMN EMPID INT AUTO_INCREMENT;
第四章
规格化:
把原始刷数据分解为表,去除冗余数据的过程
第一规格形式:
把原始数据分解到表中
第二规格形式:
把对主键仅有部分依赖的数据提取到另一个表里
第三规格形式:
删除表里不依赖主键的数据(例如职位描述)
第五章 数据操作
INSERT INTO PRODUCTS VALUES ('1123','LEATHER',24,99);
第六章 管理数据库事务

转载于:https://www.cnblogs.com/wangzhuazhua/p/4786690.html

你可能感兴趣的文章
C语言程序第一次作业
查看>>
leetcode-Sort List
查看>>
常用的Javascript设计模式
查看>>
静态库
查看>>
关于hibernate查询结果类的封装
查看>>
突然感到人生很绝望_
查看>>
IIS7:通过脚本来配置ftp站点
查看>>
淘宝用户杭州30个小区分布,根据默认收货地址统计用户id
查看>>
一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
查看>>
北京信息科技大学第十一届程序设计竞赛(重现赛)I
查看>>
【转载】Android 的 Handler 机制实现原理分析
查看>>
scanf函数
查看>>
HTML5——新表单元素 表单属性 语义元素
查看>>
CSS3—— 分页 框大小 弹性盒子 多媒体查询 多媒体查询实例
查看>>
使用反射获取Android中隐藏的方法
查看>>
【原创】Leetcode -- Reverse Linked List II -- 代码随笔(备忘)
查看>>
人脸识别技术开发人证比对访客系统
查看>>
Android之人脸识别
查看>>
HDU 5340——Three Palindromes——————【manacher处理回文串】
查看>>
二叉树的下一个节点
查看>>