1、模式:数据库在逻辑级上的视图,又叫概念模式或逻辑模式,概念级的。外模式:用户与数据库系统的接口,是用户用到的那部分数据的描述,又叫子模式或用户模式,用户级的外模式/模式映像 模式/内模式映像3. 数据模型1数据模型概念:对现实世界中数据特征的抽象,描述的是数据的共性。2数据模型的三个要求:一、能比较真实地模仿现实世界; 二、容易为人们所理解; 三、便于在计算机上实现;3数据抽象级别:(一)、概念层概念层是数据抽象级别的最高层,是按用户的观点对现实世界建模的。概念层的数据模型叫概念数据模型,又叫概念模型,例如实体-联系模型(E-R模型:实体型【矩形框】、联系【菱形框】、属性【椭圆形框】、连线【直
2、线】)。概念模型:(1)、实体:一个实体是现实世界客观存在的一个事物。(2)、属性:属性是用来描述实体的特性。(3)、码:码的值能唯一地标识每个实体的属性集,称为实体的标识。在关系数据库中实体的标识称为码或者键(Key),其标识码是实体的单个属性或属性子集的值。(4)、域:域是值的集合,属性的取值范围称为该属性的域。(5)、实体型:具有相同属性的实体必然具有共同的特征和性质。用实体名与属性名集合来抽象和刻画同类实体,称为实体型,同型实体的集合称为实体集。(6)、联系:11、1*、*。(二)、逻辑层逻辑层是数据抽象级别的中间层,描述数据库数据整体的逻辑结构。逻辑层的数据抽象叫逻辑数据模型,是基于
3、计算机系统的观点来对数据进行建模和表示,例如网状数据模型、层次数据模型、面向对象数据模型和关系数据模型等。关系模型:(1)、关系:一个关系逻辑上对应一张二维表(格)。(2)、元组:表中的行称为元组,组成元组的元素称为分量。(3)、属性:表中的列称为属性。(4)、主键:用户选作标识元组的一个候选键称为主键,也称为关键字。(5)、域:域是一组具有相同的数据类型的值的集合。(6)、表:由行和列组成。(7)、行:表中的一条记录。(8)、列:表中的一个字段。(9)、外键:表中的一列或一组列,其中包含另一张表的主键值,主要用于定义两个表之间的关系。(10)、关系模式:对关系的描述称为关系模式。关系模式规范
4、化的基本方法:第一范式第二范式:取消非主键列对主键的部分函数依赖;第二范式第三范式:取消非主键列对主键的传递函数依赖;第三范式BCVF范式:取消主键列对主键的部分函数依赖和传递函数依赖。(三)、物理层物理层是数据抽象级别的最底层,用来描述数据物理存储结构和存储方法。物理层的数据抽象叫物理数据模型。4. 数据库设计方法按数据库规范的设计的方法,可将数据库设计分为六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。、概念结构设计:E-R图。、逻辑结构设计:E-R图关系模型。、物理设计:(1)、确定数据库的物理结构; (2)、对物理结构进行评价;二、 My S
5、QL平台下的SQL交互操作1. 数据库、表、索引和视图的相关概念数据库、创建数据库CREATE DATABASEIF NOT EXISTS data_name;、选择数据库USE data_name;、修改数据库ALTER DATABASE data_name CHARACTER SET 字符集名 COLLATE 校对规则名;4、删除数据库DROP DATABASE IF EXISTS data_name;5、查看数据库SHOW DATABASES;SHOW CREATE DATABASE data_name;SELECT DATABASE();表、创建表CREATE TABLE tab_na
6、me(列名1 类型1,列名2 类型2,列名3 类型3,)ENGINE=引擎类型;、更改表ALTER TABLE tab_name ADD / MODIFY / DROP / RENAME TO ;、重命名表RENAME TABLE 旧表名 TO 新表名;、复制表CREATE TABLE 新表名 LIKE 旧表名;、删除表DROP TABLE tab_name1,tab_name2,;6、查看表SHOW TABLES;DESC tab_name;SELECT * FROM tab_name WHERE;【笛卡尔积查询】SELECT * FROM tab_name1,tab_name2;【内连接查
7、询】SELECT * FROM tab_name1,tab_name2 WHERE tab_name1.id = tab_name2.tab_name1.id;SELECT * FROM tab_name1 INNER JOIN tab_name2 ON tab_name1.id = tab_name2.tab_name1.id;【左外连接查询】SELECT * FROM tab_name1 LEFT JOIN tab_name2 ON tab_name1.id = tab_name2.tab_name1.id;【右外连接查询】SELECT * FROM tab_name1 RIGHT JOI
8、N tab_name2 ON tab_name1.id = tab_name2.tab_name1.id;【全外连接查询】SELECT * FROM tab_name1 LEFT JOIN tab_name2 ON tab_name1.id = tab_name2.tab_name1.id UNION SELECT * FROM tab_name1 RIGHT JOIN tab_name2 ON tab_name1.id = tab_name2.tab_name1.id;表数据、插入表数据INSERT INTO tab_name (列名1,列名2,) VALUES (值1,值2,);、更新表数
9、据UPDATE tab_name SET 字段1=值1,字段2=值2;、删除表数据DELETE FROM tab_name1,tab_name2,;TRUNCATE TABLE tab_name;索引MySQL中常用的索引有两种:B-树索引、哈希索引。哈希索引:(1)、普通索引【INDEX|KEY】 (2)、唯一性索引【UNIQUE INDEX】 (3)、主键【PRIMARY KEY】 (4)、空间索引【GEOMETRY】引擎不能是InnoDB (5)、全文索引【TEXT】引擎不能是InnoDB、创建索引CREATE INDEX idx_name ON tab_name 列名 ASC【升序】|
10、DESC【降序】;列1 类型1 ,列2 类型2 ,,索引类型 idx_name (列名);ALTER TABLE tab_name ADD INDEX idx_name(列名);、查看索引SHOW INDEX FROM tab_nameFROM data_name;、删除索引DROP INDEX idx_name ON tab_name;ALTER TABLE tab_name DROP INDEX idx_name;视图、创建视图CREATE OR REPLACE ALGORITHM= 视图的算法VIEW view_name (别名1,别名2,) AS SELECT_statement;、删
11、除视图DROP VIEW IF EXISTS view_name1,view_name,;、查看视图DESC view_name;SHOW TABLE STATUS LIKE view_name;SHOW CREATE VIEW view_name;、修改视图CREATE OR REPLACE ALGORITHM= 视图的算法VIEW view_name (别名1,别名2,) AS SELECT_statement;ALTER ALGORITHM= 视图的算法 VIEW view_name AS SELECT_statement;、更新视图UPDATE view_name SET 列名1=值1
12、,列名2=值2,;更新试图更新表数据2. 数据库、表、索引和视图的维护方法3. 数据库完整性约束的概念、定义及使用方法定义数据完整性关系模型有三种完整性约束:实体完整性、参照完整性和用户定义完整性。、实体完整性(1)、主键约束【PRIMARY KEY】(2)、候选键约束【UNIQUE】、参照完整性:表间主键外键的关系。(1)、添加外键CREATE TABLE tab_name1(列1 类型1,列2 类型2,FOREIGN KEY 列 REFERENCES tab_name2(列)ALTER TABLE tab_name1 ADD CONSTRAINT fk_name FOREIGN KEY 列
13、 REFERENCES tab_name2(列);(2)、删除外键ALTER TABLE tab_name DROP FOREIGN KEY fk_name;、用户定义完整性(1)、非空约束【NOT NULL】(2)、CHECK约束命名完整性约束更新完整性约束三、 My SQL的数据库编程1. 触发器、事件、存储过程和存储函数的概念触发器:触发器是被指定关联到一个表的数据库对象,当一个表的特定事件发生时,它将会被激活。事件:事件被称为临时触发器,是基于特定时间周期来执行某些任务。存储过程:一组为了完成特定功能的SQL语句集。存储函数:类似于存储过程。2. 触发器的创建及使用、触发器的创建CREATE TRIGGER trigger_name BEFORE|AFTER INSERT|UPDATE|DELETE ON tab_name|view_name FOR EACH ROW ;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1