大学数据库课本数据库知识点
- 格式:docx
- 大小:27.68 KB
- 文档页数:16
大学计算机科学数据库知识点归纳总结数据库是计算机科学中重要的概念之一,它是用来管理和存储数据的系统。
在大学计算机科学学习中,数据库是不可或缺的一部分。
本文将对大学计算机科学数据库课程中的重要知识点进行归纳总结。
一、数据库基础知识1. 数据库的定义和基本特点- 数据库是一个有组织的、可持久化存储的数据集合- 数据库的特点包括数据的结构化、数据的共享、数据的独立性和数据的持久性2. 数据库管理系统(DBMS)- 数据库管理系统是用来管理数据库的软件系统- 常见的DBMS包括MySQL、Oracle、SQL Server等3. 关系型数据库和非关系型数据库- 关系型数据库采用表格形式(二维表)存储数据,如MySQL、Oracle等- 非关系型数据库采用键值对(NoSQL)或其它数据结构存储数据,如MongoDB、Redis等二、数据库设计与范式1. 数据库设计步骤- 需求分析- 概念设计- 逻辑设计- 物理设计2. 数据库范式- 第一范式(1NF):属性不可再分- 第二范式(2NF):消除非主键属性对主键的部分依赖- 第三范式(3NF):消除非主键属性对主键的传递依赖三、SQL语言1. SQL的基本语法- SQL用于定义、操作和查询关系型数据库- 常见的SQL语句包括CREATE、INSERT、SELECT、UPDATE、DELETE等2. 数据查询- SELECT语句用于查询数据库中的数据- WHERE子句用于设置查询条件- ORDER BY子句用于对查询结果进行排序3. 数据操作- INSERT语句用于向数据库中插入数据- UPDATE语句用于更新数据库中的数据- DELETE语句用于删除数据库中的数据四、数据库索引与优化1. 数据库索引- 索引是一种数据结构,用于提高数据库查询的速度- 常见的索引类型包括B树索引、哈希索引等2. 数据库优化- 优化数据库设计,包括选择合适的数据类型、避免冗余数据等- 优化SQL查询语句,包括合理使用索引、避免全表扫描等五、事务与并发控制1. 事务- 事务是一组逻辑上相互关联的数据库操作- ACID特性是事务的重要特点,包括原子性、一致性、隔离性和持久性2. 并发控制- 数据库并发控制是确保多个用户同时访问数据库时数据一致性的关键- 常见的并发控制方法包括锁、多版本并发控制等六、数据库安全性与备份1. 数据库安全性- 数据库安全是保护数据库免遭非法访问、修改和删除的措施- 常见的数据库安全措施包括权限管理、加密存储等2. 数据库备份与恢复- 数据库备份是将数据库的数据和结构复制到备份介质中,以便在数据丢失时进行恢复- 常见的数据库备份方式包括完全备份、增量备份和差异备份七、NoSQL数据库1. NoSQL数据库的定义和特点- NoSQL数据库指的是非关系型数据库- NoSQL数据库具有高可伸缩性、高性能和灵活的数据模型等特点2. NoSQL数据库的分类- 键值数据库(Key-Value Database)- 列族数据库(Column Family Database)- 文档数据库(Document Database)- 图数据库(Graph Database)总结:本文对大学计算机科学数据库课程中的重要知识点进行了归纳总结,包括数据库基础知识、数据库设计与范式、SQL语言、数据库索引与优化、事务与并发控制、数据库安全性与备份以及NoSQL数据库。
大一数据库知识点总结数据库是计算机科学领域中广泛应用的技术,用于存储、管理和组织大量数据的系统。
作为一名大一学生学习数据库课程,了解和掌握数据库的基本知识点是非常重要的。
以下是大一数据库知识点的总结。
一、数据库概念1. 数据库定义:数据库是一个按照数据结构来组织、存储和管理数据的仓库。
2. 数据库管理系统(DBMS):数据库的管理软件,用于创建、修改和管理数据库。
3. 关系型数据库:基于关系模型理论构建的数据库系统,使用表格和关系来组织和管理数据。
二、实体关系模型实体关系模型是数据库设计中的关键概念,用于表示实体和实体之间的关系。
1. 实体和实体集:实体是现实世界中一个可以区别于其他对象的独立存在的个体,实体集是具有相同特性的实体的集合。
2. 属性:实体具有的特征或者描述,用于描述实体的某个方面。
3. 关系:实体之间的联系,用于表示实体之间的关系。
4. 域:属性的取值范围。
5. 码(主键):能够唯一标识一个实体的属性或者属性组合。
6. 外码(外键):在一个实体集中引用其他实体集的主键,用于建立实体之间的联系。
7. 范式:用于规范数据库设计的一组规则,分为1NF、2NF、3NF等多个级别。
三、SQL语言SQL(Structured Query Language)是用于在关系型数据库中进行查询和操作的标准语言。
1. 数据定义语言(DDL):用于定义数据库的结构,包括创建、修改和删除数据库、表格和索引等操作。
2. 数据操纵语言(DML):用于查询和操作数据库中的数据,包括插入、删除、更新和查询等操作。
3. 数据查询语言(DQL):用于查询数据库中的数据,基于SELECT语句实现。
4. 数据控制语言(DCL):用于对数据库中的用户权限和数据完整性进行控制,包括GRANT、REVOKE等操作。
四、关系型数据库关系型数据库是以关系模型为基础的数据库系统,例如MySQL、Oracle和SQL Server等。
大一数据库必考知识点(原创实用版)目录1.数据库的定义与作用2.数据库管理系统的分类3.数据库系统的基本结构4.数据库的性能优化5.大一数据库必考知识点总结正文一、数据库的定义与作用数据库,简称 DB,是指存储在计算机设备上的结构化的相关数据集合。
它可以是文本、图像、声音、视频等多种数据类型的集合。
数据库具有数据存储、数据管理、数据检索和数据处理等功能。
数据库的作用是实现对大量数据的高效管理,为用户提供快速、准确的数据查询和处理服务。
二、数据库管理系统的分类根据数据模型的不同,数据库管理系统(DBMS)可分为层次型、网状型、关系型和面向对象型等。
1.层次型数据库管理系统:以树形结构组织数据,只有一个根节点。
2.网状型数据库管理系统:以图形结构组织数据,可以有多个根节点。
3.关系型数据库管理系统:以表格形式存储数据,通过 SQL 语言进行查询和操作。
常见的关系型数据库管理系统有 MySQL、Oracle、SQL Server 等。
4.面向对象型数据库管理系统:以对象为基本单位存储数据,支持面向对象的编程语言。
三、数据库系统的基本结构数据库系统主要由数据库(DB)、数据库管理系统(DBMS)、数据库管理员(DBA)和用户组成。
1.数据库(DB):存储数据的容器。
2.数据库管理系统(DBMS):负责管理数据库的软件系统,实现对数据的增、删、改、查等操作。
3.数据库管理员(DBA):负责数据库系统的安装、配置、维护和优化等工作。
4.用户:使用数据库系统的个人或组织。
四、数据库的性能优化为了提高数据库的性能,可以从以下几个方面进行优化:1.优化 SQL 语句:避免使用 SELECT *,尽量只查询需要的字段;使用 INNER JOIN 代替子查询;避免使用函数和复杂计算等。
2.建立索引:合理建立索引可以加快查询速度,但也要注意避免过度索引。
3.数据库分区:将大数据表按照一定规则进行分区,提高查询效率。
4.数据库缓存:利用缓存技术,将经常访问的数据临时存储在内存中,减少磁盘 I/O 操作。
大一数据库必考知识点在大一阶段,数据库知识已成为计算机相关专业学生的必修课程。
数据库技术在现代信息技术领域具有举足轻重的地位,掌握数据库基础知识对于学生未来的学术和职业发展具有重要意义。
本文将介绍大一数据库必考知识点,帮助同学们更好地学习和理解这一课程。
1.大一数据库基础知识点的背景和重要性数据库是存储、管理、检索数据的计算机软件。
数据库技术的发展和应用已深入到各行各业,为信息时代的发展奠定了基础。
作为计算机专业的基础课程,数据库知识的学习有助于培养学生的逻辑思维、问题分析和解决能力。
2.关系数据库的基本概念关系数据库是一种基于关系模型的数据库系统。
其基本概念包括关系、表、字段、主键、外键、连接等。
关系模型用二维表来表示实体和实体之间的关系,具有易于理解、操作简便等优点。
3.数据模型和数据结构数据模型是描述实体及其之间关系的概念模型,包括实体类型、关系类型和属性等。
数据结构是数据模型的具体实现,主要包括线性结构、树形结构、图形结构等。
4.数据库管理系统(DBMS)的组成和功能数据库管理系统是用于创建、存储、检索和维护数据的软件。
DBMS的组成包括数据库、数据库管理系统、应用程序和用户等。
其主要功能包括数据定义、数据操纵、数据控制和数据维护等。
5.数据库设计原则与步骤数据库设计是将现实世界中的数据抽象为数据库模型并进行实现的过程。
设计原则包括数据完整性、一致性、安全性等。
设计步骤主要包括需求分析、概念设计、逻辑设计和物理设计等。
6.常见数据库操作命令和语法数据库操作命令主要包括INSERT(插入)、UPDATE(更新)、DELETE (删除)、SELECT(查询)等。
掌握常见数据库语法对于实现高效数据库操作至关重要。
7.数据库安全性与完整性控制为确保数据库的安全性和完整性,需要采取一定措施。
如设置访问权限、加密数据、实施事务控制、约束条件等。
8.数据库性能优化策略为提高数据库性能,可采用以下策略:优化查询语句、创建索引、合理分配数据库资源、调整数据库参数等。
大一数据库必考知识点总结数据库是计算机科学中的核心概念之一,是用于存储、管理和检索数据的工具。
在大一的学习中,数据库课程是计算机专业的重要组成部分,本文将总结大一数据库课程的必考知识点,以帮助同学们更好地备考和理解数据库的基本概念和应用。
1. 数据库基本概念数据库是按照数据模型组织、存储和管理数据的集合。
理解数据库的基本概念对于学习和使用数据库至关重要。
1.1 数据库管理系统(DBMS)数据库管理系统是用于管理数据库的软件系统,其主要功能包括数据的定义、存储、管理、检索和维护等。
1.2 数据库模型数据库模型是数据库中数据的逻辑结构的抽象概念,常见的数据库模型有层次模型、网络模型、关系模型和面向对象模型等。
1.3 实体-关系模型(ER模型)实体-关系模型是一种用于描述现实世界的抽象模型,其中实体表示现实世界中的一个对象,关系表示实体之间的联系。
2. 关系型数据库关系型数据库是使用关系模型组织和存储数据的数据库,广泛应用于各种领域。
2.1 关系数据库的基本概念关系数据库由表格(关系)组成,每个表格包含若干行和列,表格的每一行代表一个记录。
2.2 SQL语言SQL(Structured Query Language)是用于管理和操作关系数据库的标准语言。
理解SQL语言的基本语法和常用操作对于数据库的使用至关重要。
2.3 数据库设计数据库设计是指根据实际需求将现实世界中的数据映射为关系模型的过程。
良好的数据库设计可以提高数据库的性能和可维护性。
3. 数据库查询与操作数据库查询和操作是使用数据库的核心功能,掌握常用的查询和操作方法是数据库课程的重点内容。
3.1 查询语言查询语言是用于从数据库中获取所需数据的语言,常见的查询语言包括SQL和QBE等。
3.2 基本查询操作基本查询操作包括SELECT、FROM、WHERE等关键字,用于指定查询的数据表、条件和需要返回的列。
3.3 条件查询和连接查询条件查询用于筛选符合指定条件的记录,连接查询用于根据多个表格之间的关联查询数据。
大一数据库结构知识点总结数据库是计算机科学领域中的重要概念,它被用来存储和组织大量数据,让数据的管理更加高效和便捷。
在大一学习数据库课程过程中,我们接触到了许多与数据库结构相关的知识点。
本文将对大一数据库结构的知识进行总结,并介绍其核心内容。
一、数据库基础知识1. 数据库的定义和特点数据库是指按一定的数据模型组织、描述和存储数据的集合。
数据库具有永久存储、无冗余、共享和集中控制等特点。
2. 数据库管理系统数据库管理系统(DBMS)是用来管理数据库的软件系统。
常见的DBMS包括MySQL、Oracle、SQL Server等。
二、数据库结构模型1. 层次模型层次模型是数据库最早的模型之一,数据以树的形式组织,存在层次关系。
2. 网状模型网状模型克服了层次模型的一些局限性,数据以网状结构存储,通过指针来建立关系。
3. 关系模型关系模型是数据库最为常用的模型,数据以二维表的形式组织,并通过关系来建立数据之间的联系。
三、关系型数据库的设计1. 实体-属性-值(EAV)模型EAV模型是关系型数据库的一种扩展模型,它允许在不改变表结构的情况下动态添加属性。
2. 数据库范式数据库范式是为了减少数据冗余和提高数据组织的规范化设计方式。
常见的范式有第一范式(1NF)、第二范式(2NF)等。
3. SQL语言结构化查询语言(SQL)是一种用于管理和操作关系数据库的计算机语言。
我们可以通过SQL语句对数据库进行增删改查等操作。
四、数据库索引与优化1. 数据库索引数据库索引是一种优化技术,用于提高数据库检索的速度。
常见的索引类型包括主键索引、唯一索引和聚集索引等。
2. 数据库优化数据库优化旨在提升数据库的性能和效率。
可以通过合理的索引设计、查询语句优化以及硬件升级等方式来实现。
五、数据库安全性与备份1. 数据库安全性数据库安全性是数据库管理中重要的方面。
例如,我们可以通过用户权限管理、密码策略和数据加密等手段来保护数据库的安全。
大一mysql数据库知识点总结MySQL是一种常用的关系型数据库管理系统,广泛应用于各个领域。
作为大一学生,学习和掌握MySQL数据库的基本知识是非常重要的。
本文将对大一学习MySQL数据库所需的基础知识进行总结。
一、数据库基础知识1. 数据库的定义与作用数据库是一个有组织的数据集合,可以进行高效的数据存储、管理和查询。
它在现代应用中扮演着非常重要的角色,有助于数据的有效管理和使用。
2. 数据库管理系统(DBMS)数据库管理系统是一种管理数据库的软件,用于增加、删除、修改和查询数据。
MySQL是一种开源的DBMS,它具有良好的性能、稳定性和易用性。
3. 数据库和表的创建在MySQL中,可以使用SQL语句来创建数据库和表。
创建数据库使用CREATE DATABASE语句,创建表使用CREATE TABLE语句。
4. 基本数据类型MySQL支持多种数据类型,包括整型、浮点型、字符型等。
不同的数据类型适用于不同的数据存储和操作需求。
二、SQL语言基础1. SQL语言概述结构化查询语言(SQL)是一种用于访问和管理数据库的语言。
它可以用来执行查询、插入、更新和删除等操作。
2. 数据库查询使用SELECT语句可以从数据库中检索数据。
可以使用WHERE子句进行条件筛选,使用ORDER BY子句进行排序。
3. 数据库插入使用INSERT INTO语句可以向数据库的表中插入新的数据。
需要指定要插入的字段和对应的值。
4. 数据库更新使用UPDATE语句可以修改数据库中的数据。
可以使用SET 子句指定要更新的字段和新的值,并使用WHERE子句指定更新的条件。
5. 数据库删除使用DELETE FROM语句可以从数据库中删除数据。
可以使用WHERE子句指定删除的条件。
三、数据库设计与规范化1. 数据库设计的重要性数据库设计是指根据应用需求设计数据库的结构和关系。
良好的数据库设计可以提高查询和操作的效率,减少数据冗余和数据错误。
数据库知识点总结大一在大一学习数据库课程中,我们接触了许多关于数据库的基础知识,掌握了一些基本概念和技术。
本文将对大一数据库课程中涉及的一些重要知识点进行总结,帮助大家回顾和深化理解。
一、数据库基本概念1. 数据库:数据库是存储数据的仓库,可以将数据按照结构化方式进行存储、组织和管理。
2. 数据库管理系统(DBMS):DBMS是一种软件系统,用于管理数据库,提供数据的存储、检索、更新和操作等功能,例如MySQL、Oracle等。
3. 数据库模型:数据库模型定义了数据库中数据的组织方式和相互之间的关系,包括层次模型、网络模型、关系模型等。
4. 关系数据库:关系数据库使用关系模型进行数据的组织和管理,通过表(即关系)来表示实体和实体间的联系。
二、关系数据库基础1. 实体与属性:实体是现实世界中的对象或事物,属性是实体的特征或属性。
通过表的方式将实体和属性结构化地存储在数据库中。
2. 关系模式和关系实例:关系模式描述了一个关系的属性名和数据类型,关系实例即关系模式中的具体数据。
3. 主键与外键:主键是用于唯一标识关系中每个元组(行)的字段,外键是关系之间的联系,通过外键可以实现表与表之间的数据关联。
4. 数据完整性:数据完整性是指数据库中数据的准确性和一致性,包括实体完整性、参照完整性、用户定义的完整性等。
三、SQL语言基础1. SQL概述:SQL(Structured Query Language)是用于管理和操作数据库的标准化语言,包括数据查询(SELECT)、数据更新(INSERT、UPDATE、DELETE)、表的创建和修改等操作。
2. 数据查询:通过SELECT语句可以实现数据的查询和检索,可以使用WHERE子句对数据进行筛选和条件过滤。
3. 数据更新:INSERT语句用于向表中插入新的数据行,UPDATE语句用于修改已有数据行的内容,DELETE语句用于删除数据行。
4. 表的创建和修改:使用CREATE TABLE语句可以创建新的表,通过ALTER TABLE语句可以修改表的结构和属性。
数据库系统原理及MYSQL 重要知识点1、 数据库系统(DBMS )DBS=DB+DBMS+DBA(数据库管理员)+USER+应用系统2、 概念模型与数据模型 信息的三种世界:现实世界:实体,实体集,实体的属性,实体集之间的联系。
信息世界:用E-R 图把现实世界表示出来。
概念模型 数据世界(计算机世界):用某种DBMS 把E-R 图表示数据模型:层次模型:层次结构 网状模型:网状结关系模型:表结构3、 DBMS 对数据库进行的管理。
(1) 定义数据库(2) 操纵数据库(3) 控制数据库4、 在MYSQL 中对数据的增、删、改操作。
<1>数据库的操作(1) 创建数据库:create database 数据库名;(2) 查看数据库:show databases ;(3) 选择数据库:use 数据库名;(4) 删除数据库:drop database 数据库名;<2>表的操作(1)首先选择表创建的位置(该创建在哪个数据库)使用选择数据库命令(2)创建表:create table 表名(列名 数据类型,列名 数据类型,列名 数据类型);(4)数据类型:数值型:int (整数类型) 直接写不加括号/decimal(m,n)【小数类型】 m 精度 n 小数位数;精度=整数位数+小数位数;日期时间型:date(只有日期)/datetime(日期时间)文本类型:char(n) n 表示字节大小不可变长度Varchar(m) m 表示字节可变长度(速度慢)在MySQL 中只有日期时间型与文本型在插数据时需要加单引号;(5)加数据:insert into 表名 values (数据1,数据2,,,,,,,);values 中的数据要与创建表格时一一对应;也可以指定添加哪几个数据:只需在表格名后加括号中写上需要添加的列名;(6)删除行:delete from 表名 where 条件(不加where 全表都被删除);(7)更新数据:update 表名 set 列名=表达式 where 条件;(8)更改表头:alter table 表名 add (添加一个属性,增加一行);alter table 表名 drop (删除一个属性,删除一列);alter table 表名 modify (更改数据类型);5、数据模型的三要素:数据结构,数据的操作,完整性约束。
大一数据库必考知识点1.数据库基础知识:了解数据库的概念、特点和应用,了解数据库管理系统(DBMS)的作用和功能。
2.数据库模型:了解关系数据库模型及其基本概念,包括表(表结构、表关系)、行、列、主键、外键等。
3. SQL语言:掌握SQL(Structured Query Language)的基本语法和常用命令,包括查询、插入、更新、删除、创建和修改表等操作。
4.数据完整性:了解数据完整性的概念和重要性,包括实体完整性、参照完整性、域完整性和用户自定义完整性等。
5.关系数据库设计:了解数据库设计的基本原则和步骤,包括实体-关系模型(ER模型)、关系规范化、功能依赖等。
6.数据库索引:了解数据库索引的作用和类型,包括B+树索引、哈希索引等。
7.数据库事务:了解数据库事务的概念和特点,了解事务的ACID属性(原子性、一致性、隔离性、持久性)以及事务的并发控制和恢复机制。
8.数据库安全性和权限控制:了解数据库安全性的概念和重要性,了解数据库的用户和角色管理、权限分配和访问控制等。
9.数据库性能优化:了解数据库性能优化的方法和技巧,包括索引的使用、SQL语句的优化、缓存的使用、查询计划的优化等。
10.数据库备份和恢复:了解数据库备份和恢复的方法和策略,包括物理备份、逻辑备份、增量备份、恢复点等。
11.数据库的扩展和集群:了解数据库的扩展和集群的概念和实现方法,包括分布式数据库、主从复制、分表、分区等。
12.数据库的应用:了解数据库在各个领域的应用,如企业管理系统、电子商务、社交网络、科学研究等。
总之,大一数据库必考的重点是数据库基础知识、SQL语言、数据库设计和完整性、索引和优化、事务和安全性以及备份和恢复等方面的知识。
掌握这些知识点,能够理解数据库的基本原理和操作,并能够进行数据库的设计和优化,对于学习和使用数据库会有很大的帮助。
1.数据库管理系统(DBMS)数据定义语言(DDL)、数据操纵语言(DML)2.数据库系统(DBS)由数据库、数据库管理系统、应用程序和数据库管理员组成3.数据库管理技术的产生和发展(1)人工管理阶段(2)文件管理阶段(3)数据库管理阶段各区别见P7表(重)数据库系统与文件系统的本质区别:数据库系统实现整体数据的结构化4.物理独立性和逻辑独立性的概念P135.数据库系统的核心和基础:数据模型6.两类数据模型:第一类概念模型、第二类逻辑模型和物理模型逻辑模型-->物理模型,由数据库系统完成7.概念模型的表示方法:实体—联系方法(E-R方法)P168.数据模型的组成要素:数据结构、数据操作、完整性约束条件9.按数据结构的类型来命名数据模型:层次模型、网状模型、关系模型10.关系模型的数据结构:关系(表)、元组(一行)、码、域、分量(元组中的一个属性值)、关系模式(表示为关系名(属性1,属性2......))11.模式是相对稳定的,实例时相对变动的12.三级模式:模式、外模式、内模式模式:是数据库中全体数据的逻辑结构和特征的描述外模式(子模式或用户模式):数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述内模式(储存模式):是数据物理结构和存储方式的描述13.二级映像:(1)模式/外模式映像:保证数据和程序的逻辑独立性对于每一个外模式,都有一个。
(2)模式/内模式映像:保证数据和程序的物理独立性1.域:具有相同数据类型的值的集合不同取值个数个数称为域的基数2.笛卡尔积:所有域的所有不同组合P383.关系:R(D1,D2,...,Dn) n是关系的目或度关系的候选码、主属性、主码、全码4.关系有三种类型:基本关系(基本表或基表)、查询表、视图(虚表)5.基本关系具有的性质:(1)列是同质的(2)不同的列可以出自同一个域(3)分量必须去原子值,即每一个分量都必须是不可分的数据项6.关系模式是型,关系是值7.关系操作包括两大部分:查询操作和更新操作(插入、删除、修改)查询操作分为选择、投影、并、差、笛卡尔积(5种基本操作)、连接、除、交操作的对象和结果都是集合该操作方式也称“一次一集合方式”非关系数据模型的数据操作方式称“一次一记录方式8.关系数据语言的分类关系代数语言关系演算语言:元组关系演算语言、域关系演算语言具有关系代数和关系演算双重特点的语言:结构化查询语言结构化查询语言是集查询、数据定义语言、数据操作语言和数据控制语言于一体的关系数据语言关系完备性:一个关系数据语言能够表示关系代数可以表示的查询9.外码:自身不是主码、取值会参照另外一张表(也可同一张表)的主码的取值外码不一定要与相应的主码同名10.关系的完整性(1)实体完整性:主属性不能取空值(2)参照完整性:关系中的外码或取空值或取等于它参照的关系的主码值(3)用户定义的完整性11.集合运算(1)传统的关系运算:并:RUS 差:- 交笛卡尔积:A×B关系A、B分别有k1、k2个元组,则A×B有k1×k2个元组(2)专门的关系运算:投影、选择、连接、除运算等A.投影后会取消相同的元组B.连接:等值连接(含自然连接,符号: ,查询常用到)、非等值连接自然连接中被舍弃的元组称为悬浮元组外连接、左外连接、右外连接P55C.除运算(待定)D.查询练习:P53、P56~57(重)第四章数据库安全性1.数据库安全性主要包括:用户身份鉴别、多层存取控制、审计、视图、数据加密等技术2.数据库管理系统提供的最外层安全保护措施:用户身份鉴别方法:静态口令鉴别、动态口令鉴别、生物特征鉴别、智能卡鉴别3.存取控制机制主要包括:定义用户权限、合法权限检查(组成数据库管理系统的存取控制子系统)定义用户权限:登记到数据字典中,这些定义称为安全规则(授权规则)4.自主存取控制(MAC)(1)通过SQL的GRANT和REVOKE语句来实现(2)用户权限由两个要素组成:数据库对象和操作类型(3)定义存取权限称为:授权(4)GRANT...ON...TO用户; 详见P141-P142若用户后面再加WITH GRANT OPTION,表示该用户可以将该权限授权给其他(5)REVOKE...ON...FROM 用户;详见P143-P14若用户后面再加CASCADE,表示级联回收了该用户之前对其他用户的授权(6)创建用户:CREATE USER<username> [WITH][3个权限]3个权限:CONNECT、RESOURCE、DBA其区别见P145表没有指定权限时,默认只是最低级权限(7)角色:是权限的集合角色的创建(CREATE)和收回(REVOKE)见P147 4.强制存取控制(DAC)(1)数据库全部实体分为:主体(用户、进程)、客体(文件、基本表、视图等)(2)给主体客体指派一个敏感度标记:绝密、机密、可信、公开(3)规则:不上读、不下写P1485.MAC和DAM共同构成数据库管理系统的安全机制。
系统先检查MAC,再检查DAC6.视图机制的作用:A.提供数据的逻辑独立性B.提供一定的安全性创建:CREATE VIEW 视图名称AS SELECT选出的一张小表创建后可以对用户在该视图上授权P1497.审计:事后检查的安全机制(1)功能:把用户对数据库的所有操作自动记录在审计日志里(2)分为:用户级审计:用户对自己创建的表或视图进行审计系统级审计:监测登录要求、授权和回收等(3)通过AUDIT语句设置审计功能,NOAUDIT语句取消审计功能P151 (4)审计设置和审计日志存放在:数据字典8.数据加密P151第五章数据库完整性1.指数据的正确性和相容性2.数据完整性和安全性的区别:P1573.实体完整性(1)定义方法:2种P158 PRIMARY KEY(2)实体完整性检查:A.检查主码是不是唯一(全表扫描或在主码上建立索引如B+树索引)B.检查主码的各属性是否为空(3)处理:都拒绝执行3.参照完整性(1)定义方法:P160 FOREIGN KEY ()REFERENCES表名()(2)参照完整性检查:可能破坏参照完整性的情况:参照表增加或修改一个元组;被参照表删除或修改一个元组P161 (3)处理:拒绝(NO ACTION)、级联(CASCADE)、设置为空值后2个是被参照表删除或修改时,对应的参照表删除或设为空值后1个还要根据实际情况看是否可以设置为空值(4)默认操作是拒绝,可以自己设置,在定义外码后加ON DELETE CASCADE 或ON UPDATE CASCADE等等P1624.用户定义完整性:(1)属性上的约束条件定义:NOT NULL;UNIQUE;CHECK(...) P163~164 (2)元组上的约束条件定义:在最后用CHECK语句,适用范围所有元组P165 (3)处理:拒绝执行5.完整性命令约束语句CONSTRAINT 名字P165~166(1)可以对约束条件命名、可以对2个属性联合进行约束(2)可以删除(DROP)或修改(ADD,修改前先删除)约束条件6.触发器(事件-条件-动作规则):类似约束,但可实施更为复杂的检查和操作(1)只有创建表的用户才可以在表上创建触发器,且数量有限(2)只能在表上创建(触发器的目标表),视图不可(3)定义:CREATE TRIGGER 触发器名P170 触发时机触发事件(包含在哪个表)REFERENCING(引用到的变量)...触发动作间隔WHEN(触发条件)触发动作体触发时机:BEFORE、AFTER触发动作间隔:FOR EACH ROW(行级)、FOR EACH STATEMENT(语句级)可引用的变量:对于行级,有OLDROW、NEWROW对于语句级,有OLDTABLE、NEWTABLE(4)删除触发器:DORP TRIGGER 触发器名ON 表名第六章1.函数依赖、平凡函数依赖和非平凡函数依赖、完全函数依赖和部分函数依赖、传递函数依赖P1822.1NF;2NF:不存在部分函数依赖(若码只有一个属性,则一定满足);3NF:非主属性对码不存在传递函数依赖BCNF:决定因素都是码4NF:不存在多值依赖3.多值依赖P1874.多值依赖的性质P187~1885.规范化的目的:尽量消除插入,删除异常,修改复杂,数据冗余6.采取“一事一地”的模式设计原则7.练习题P189第七章数据库设计1.数据库设计的特点:(1)数据库建设的基本规律:三分技术,七分管理,十二分基础数据(2)结构(数据)设计和行为(处理)设计相结合2.数据库设计的方法:新奥尔良方法、基于E-R模型的设计方法、3NF设计方法、面向对象的设计方法、统一建模语言(UML)方法3.数据库设计的基本步骤:(1)需求分析(2)概念结构设计:产生E-R图(3)逻辑结构设计:转为某个数据库管理系统所支持的数据模型,如关系模型(4)物理结构设计:选取一个物理结构(包括存储结构和存取方法)(5)数据库实施(6)数据库运行和维护以上3、4步与所选的数据库管理系统密切相关4.需求分析(1)调查的重点是“数据”和“处理”,通过调查获得以下要求:信息要求、处理要求、安全性和完整性要求(2)分析需求的方法:结构化分析方法(SA方法)采用自顶向下、逐层分解的方式分析系统(3)数据字典:即元数据,在需求分析阶段建立包括数据项、数据结构、数据流、数据存储、处理过程P2135.概念结构设计(1)四类方法:自顶向下、自底向上(主要)、逐步扩张、混合策略(2)E-R图的集成:A.合并E-R图,生成初步E-R图B.消除不必要的冗余,设计基本E-R图(3)合并E-R图会产生3种冲突:属性冲突:属性域冲突、属性取值单位冲突命名冲突:同名异义、异名同义结构冲突:3种P228(4)消除冗余的方法:分析方法,即以数据字典和数据流图为依据6.逻辑结构设计(1)E-R图转换为关系模式1:1关系、1:n关系、m:n关系的转换方法:P232(重)(2)数据模型的优化:通常以规范化理论为指导方法:确定函数依赖关系,消除冗余,确定范式,确定是否要对某些模式进行合并或分解7.物理结构设计(1)常用的存取方法:索引方法、聚簇方法(都是针对某个属性列)(2)索引方法:B+树索引、hash索引P236(重)代价:维护索引,查找索引要付出代价(3)聚簇方法:把属性上具有相同值的元组集中存放在连续的物理块中聚簇的好处:A.大大提高查找的效率B.减少访问磁盘的次数C.减少存储空间(相同在聚集在一起,聚簇码只要存1次)一个关系只能有一个聚簇。
何处建立聚簇:A.经常在一起进行连接操作的关系;B.经常出现在在相等条件比较中的属性C.属性上的值重复率很高(学号肯定不适合)建立聚簇将导致元组移动其物理存储位置,此关系上原来建立的所有所有无效;(4)确定数据的存放位置:将易变部分和稳定部分,经常存取部分和存取频率较低部分分开存放。