数据库复习

数据库的数据有那几种模型
在这里插入图片描述

什么是数据库系统
数据库系统是指在计算机系统中引入数据库后构成的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成
数据库系统的特点是什么?
数据结构化+数据的共享性高,冗余度低且易扩充+数据独立性高+数据由数据库管理系统统一管理和控制
可参考:https://blog.csdn.net/m0_55679446/article/details/124017443
数据库管理系统(DBMS)的主要功能是什么?
⑴数据定义:提供数据描述语言(DDL),建立或删除数据库、基本表和视图等。
⑵数据操作:提供数据操作语言(DML),对数据进行查询、更新等操作。
⑶数据库运行控制(数据库的运行管理、数据库建立和维护):提供数据控制语言(DCL),对数据库的控制主要通过四个方面实现:数据安全性控制、数据完整性控制、多用户环境下的并发控制和数据库的恢复。
数据库操纵语言和数据库控制语言?
数据操纵语言(Data Manipulation Language, DML)是用于数据库操作,对数据库其中的对象和数据运行访问工作的编程语句。
DML 的主要功能是访问数据
数据控制语言 (Data Control Language, DCL) 是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、预存程序、用户自定义函数等数据库对象的控制权。
DCL 的核心指令是 GRANT、REVOKE。
什么是主键
及主关键字,指的是一个列或多列的组合,其值能唯一地标识表中的每一行
数据库的where和having区别
1.where是过滤数据行的,having是过滤数据分组的。
2.where的查询的条件是不可以用聚合函数的(比如SUM(),MAX(),AVG(),COUNT(),MIN())having是可以的。
3.where是在分组之前进行过滤的,having实在分组之后进行过滤的。
4.where是针对数据库文件过滤,having是针对查询结果过滤。
5.where是针对数据表中的字段直接过滤,having是针对已经查出的字段进行过滤。
6. where查询不可以使用字段别名,having是可以的。

三级模式结构是什么?二级映射有什么优点?
三级模式:外模式、模式、内模式
二级映像:外模式/模式、模式/内模式映像
数据库系统划分了三级模式和二级映像,对于三级模式来说,不同的模式对应不同的人员参考,可以只参与本层模式的设计,对于二级映像来说,保证了数据与程序的逻辑独立性和物理独立性
视图的概念和作用
视图是在基本表或其他视图上建立的表,它的结构和内容都来自某个基本表,是依据基本表存在而存在的。删除一个视图时,不会对基本表产生任何影响,但当删除一张基本表时,与之相关联的视图就会自动被删除。
(1)视图是经过预编译的SELECT语句,存储在数据库服务器端,因此执行视图比从客户端直接执行SELECT语句速度更快、效率更高一些。
(2)视图属于用户模式范畴,在实际中,一般的用户不一定具有SELECT语句方面的专门知识,从用户友好性角度来说,视图更便于用户使用。
(3)利用视图可以简化的形式表达复杂的SELECT语句组,如嵌套查询等(跟容易理解)
(4)视图可以对机密数据提供安全保护
数据库怎么建立,用什么软件做,怎么和java连接
数据库并发会产生什么数据错误,提出解决方案
数据库的并发操作通常会带来以下三类问题:丢失更新问题、不一致的问题、 读“脏”数据的问题
解决的办法,可采用封锁机制,使并发操作串行化处理。
可以用并发控制的方法调度并发操作避免造成数据的不一致性使一个用户事务的执行不受其他事务的干扰
数据库的事务
数据库事务是指一个逻辑工作单元中执行的一系列操作,要么完全地执行,要么完全地不执行。
.原子性
事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做
2 .一致性
一个或多个事务执行后,原来一致的数据和数据库仍然是一致的
(就是原来和数据库数据是一致的经过相应的事务执行后,仍然是一致的)
3 .隔离性
一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
4 .持续性
也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。
等值连接和自然连接的特点
可以参考这篇文章https://blog.csdn.net/qq_40212930/article/details/88747786
自然连接是除去重复属性的等值连接
1、自然连接一定是等值连接,但等值连接不一定是自然连接。
2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。
3、等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
什么是完整性约束
书上对完整性约束的概念是指保证数据的正确性、有效性和相容性的措施。其实就是对输入数据库的数据进行了约束和规范
关系模型中有三类完整性约束:实体完整性(entity integrity)、参照完整性(referential integrity)和域完整性(用户定义的完整性)
SQL语言的特点?
答:(1)SQL语言是一种一体化的语言,提供了完整的数据定义和操纵功能。
(2)SQL语言具有完备的查询功能
(3)SQL语言非常简洁,易学易用。
(4)SQL语言是一种高度非过程化的语言。
(5)SQL语言的执行方式多样,既能以交互命令方式直接调用,也能嵌入到各种高级语言中使用。
(6)SQL语言不仅能对数据表进行各种操作,也可对视图进行操作
外链接是什么?
索引的作用?优点缺点?
索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
索引和键的区别?
索引是存储在数据库中的一个物理结构,是实际存在的,相当于一本书的目录。
键是一个逻辑概念,不是数据库的物理部分。键分为主键和外键。

  1. 主键一定是唯一性索引,唯一性索引并不一定就是主键。
  2. 一个表中可以有多个唯一性索引,但只能有一个主键。
  3. 主键列不允许空值,而唯一性索引列允许空值。
  4. 索引可以提高查询的速度。
    主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中
    存取控制是指什么?主要包括哪两个部分?有哪两类方法
    存取控制是指确保只授权给有资格的用户访问数据库,且未被授权的用户无法接近数据。
    两个部分:定义用户权限和合法权限的检查。
    两种方法:
    自主存取控制:同一用户对不同数据库有不同权限,不同用户对同一数据库的权限也不尽相同。
    强制存取控制:每个数据库对象被标以一定的密级,用户也被标以一定级别的许可证,只有具有合法许可证的用户才可以进行存取。
    视图机制是如何对数据库实现安全性控制的?
    可以对不同的用户定义不同的视图,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来
    数据库审计它是如何保障数据库安全性的?
    答:审计功能是把用户对数据库的一系列操作自动记录到审计日志中,审计员可以利用审计日志监控数据库中的各种行为,找出导致数据库发生异常的事件,从而阻止
    数据库的完整性是指什么?
    数据的正确性:指数据是符合现实世界语义、反映当前实际状况的
    数据的相容性:指数据库同一对象在不同关系表中的数据是符合逻辑的
    什么是触发器?触发器的作用是什么?
    触发器是一种特殊类型的存储过程,是用户对某一表中数据进行UPDATE、INSERT和DELETE操作时被触发执行的一段程序。
    触发器可以实现由主键和外键所不能保证的复杂的参照完整性和数据一致性。起主要作用体现在以下几个方面:
    (1)触发器可以对数据进行级联修改。
    (2)实现比CHECK约束更为复杂的限制。
    (3) 强制表的修改要符合业务规则。
    规范化过程中,逐级依次消除了何种函数依赖?
    由INF到2NF,消除了非主属性对主属性的部分函数依赖;
    由2NF到3NF,消除了非主属性对主属性的传递函数依赖;
    由3NF到BCNF,消除了主属性对码的部分函数依赖和传递函数依赖
    数据库设计的基本步骤是什么?在这里插入图片描述
    概念结构设计阶段(转换为相应的E_R表,表示模块与模块之间的交互)
    概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。
    逻辑结构设计阶段(将概念设计的内容转化成数据库的表。)
    逻辑结构设计是将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。
    物理设计阶段
    物理结构设计师为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方式)。
    合并E-R图主要包括哪几种冲突?
    1、属性冲突
    即属性值的类型、取值范围或取值集合不同。
    2、命名冲突
    同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。
    异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。
    3、结构冲突
    同一对象在不同应用中具有不同的抽象。
    一个实体型转换为一个关系模式有哪几种情况?
    什么是存储过程?用什么来调用?
    存储过程是一个预编译的 SQL 语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次 SQL ,使用存储过程比单纯 SQL 语句执行要快。可以用一个命令对象来调用存储过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小宋加油啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值