数据库基本知识,数据库主要学什么
大家好,今天来为大家分享数据库基本知识的一些知识点,和数据库主要学什么的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
数据库原理基本知识点有哪些
更多相关免费学习推荐:mysql教程(视频)
数据库原理基本知识点有:
名词积累:数据库(Database):存放和提供数据的“库房”
数据(Data):数据库中存储的基本对象。
数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件。
数据库系统(Database System):包括数据库、DBMS、应用系统、数据库管理员(DBA)
主键(Primary Key):用于唯一的标识表中的某一条记录的属性或属性的集合。
外键(Foreign Key):用于与另一张表关联,外键为另一张表的主键
超键(Super Key):超键是能唯一区分元组的属性或属性的集合
键(候选键):去掉了超键中多余的属性,仍然能够保证区分不同的元组。
模式(Schema):一个数据库的描述,包括对数据库结构,数据类型,还有约束。
实例(Instance/ State):数据库中在某一时刻存储的真实的数据。(Instance是Schema在某一时刻的具体化、实例化)
数据操纵语言(DML:Data Manipulation Language):增删改查
数据定义语言(DDL:Data Definition Language):定义、删除、修改数据库中的对象
数据控制语言(DCL:Data Control Language):用于控制用户对数据库操纵的权限
数据模型(Data Model):现实世界数据特征的抽象,用来定义数据如何组织,数据之间的关系怎样
并相容性(Union Compatibility):两个关系具有并相容性需要保证具有相同的属性个数,以及对于每个属性都有相同的域
视图(VIEW):视图是虚拟的表,并不是物理存储的数据。而是由基本表或其他视图派生的数据。对视图的更新,实际上转换为对实际基表的更新。
数据模型(Data Model):基本概念:现实世界数据特征的抽象,用来定义数据如何组织,数据之间的关系怎样。
层次:
1.概念模型(Conceptual):按用户的观点来对数据和信息建模
2.逻辑/实现模型(Logical/ Implementation):层次模型,网状模型,关系模型
3.物理模型(Physical):数据在具体DBMS产品中的物理储存方式
数据库系统的三级模式结构:
1.内模式(Internal Schema):(也称存储模式。)数据物理结构和储存方式的描述,是数据在数据库内部的表示方式
2.概念模式(Conceptual Schema):(也称全局模式。)有时简称“模式”。是对数据库中全体数据的逻辑结构和特征的描述
3.外模式(External Schemas):(也称子模式或者用户模式。)数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述
数据库系统的两级映射以及物理、逻辑独立性:两级映射:
1.概念模式/内模式映射
2.外模式/概念模式映射
数据的物理独立性:
内模式与概念模式之间的映射提供了数据的物理独立性。当数据的物理结构发生变化时,只需要修改内模式与概念模式之间的映射即可。
数据的逻辑独立性:
概念模式与外模式之间的映射提供了数据的逻辑独立性。当数据的整体逻辑结构发生变化时,只需要修改各个外模式与概念模式之间的映射即可保证应用程序不受影响。
数据的约束条件:完整性约束1.域约束:对属性取值范围的约束
2.键约束:每个关系必须要有主键,且每个主键必须不相同
3.非空约束:属性值不能为NULL
4.实体完整性约束:主键值不能为空
5.参照完整性约束:外键可以取NULL值,但若外键为另一关系主键,则不能为NULL。
6.用户定义的完整性
各种数据操作可能违反的完整性约束
插入操作:域约束、键约束、非空约束、实体完整性约束、参照完整性约束
删除操作:参照完整性约束
更新操作:域约束、键约束、非空约束、实体完整性约束、参照完整性约束
SQL语句执行顺序:1. FROM子句组装来自不同数据源的数据
2. WHERE子句基于指定的条件对记录进行筛选
3. GROUP BY子句将数据划分为多个分组
4.使用聚集函数进行计算
5.使用HAVING子句筛选分组
6.计算所有的表达式
7.使用ORDER BY对结果集进行排序
控制冗余(Controlled Redundancy)与非控制冗余(Uncontrolled Redundancy)的区别:未受控制的数据存储冗余会导致如下的问题:
1.更新数据时的重复工作
2.浪费空间
3.数据可能会不一致
因此,理想情况下,我们应该设计一个没有冗余的数据库,但是有时候我们需要提高查询的效率,因此我们引入了控制冗余(Controlled Redundancy)
例如:
我们将学生名和课程号冗余存储于GRADE_REPORT表中,因为查询成绩的时候我们需要同时查询学生姓名以及课程号。
关系(Relation)与文件(files)或表(tables)的不同:关系看上去像一张二维表
关系的域(属性的取值范围)为一组原子值(不可再分割的值)
关系中的元组必须各不相同
关系代数:五种基本运算:并、差、笛卡尔积、选择、投影
关系代数解释器:关系代数解释器(模拟关系代数)
内连接的种类:
1.等值连接
2.不等连接
3.自然连接
SQL语句:表结构的复制(不包含表之间的关系)
SELECT* INTO COPY_DEPARTMENT FROM DEPARTMENT WHERE 1=0;
三值谓词逻辑:1. TRUE
2. FALSE
3. UNKNOWN
只有在比较结果为TRUE是才确定为真,e.g.(TRUE与UNKNOWN交为UNKNOWN,此元组不会出现在结果中)
数据库应用系统设计的基本过程:Phases of Database Design andImplementation Process(数据库设计的基本过程)
Phase 1:Requirements Collections and Analysis(需求收集与分析)
Phase 2:Conceptual Database Design(概念结构设计)
Phase 3:Choice of a DBMS(选择合适的DBMS)
Phase 4:Data Model Mapping(Logical Database Design)(逻辑结构设计)
Phase 5:Physical Database Design(物理结构设计)
Phase 6:Database System Implementation(数据库实施)
Phase 7:Database System Operation and Maintenance(数据库运行和维护)
ER图符号解释:
将ER模型映射成逻辑模型的步骤:1.映射强实体型
2.映射弱实体型
3.映射1: 1二元联系型
4.映射1: N二元联系型
5.映射M: N二元联系型
6.映射多值属性
7.映射N元联系
数据库范式:1NF(First Normal Form):当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项,则称实体E满足第一范式
2NF(Second Normal Form):当且仅当实体E满足第一范式,且每一个非键属性完全依赖主键时,满足第二范式
3NF(Third Normal Form):当且仅当实体E是第二范式(2NF),且E中没有非主属性传递依赖时,满足第三范式
数据库主要学什么
1、了解数据库的基础知识,
这是学习数据库的的最基本要求,包括范式、sql语句,比如创建
(表、索引)、查询、删除、更新SQL语句、事务等。
2、理解JDBC的ur1连接的意义
这就是需要进一步了解的,相对基础知识米说,这部分显得更加
重要。比如Oracle的jdbc ur1连接串为:
jdbc:oracle: thin:@ip: 1521:sid.
3、熟练掌握sql语句。
比如翻页、时间比较的sql语句我们用得最多。给你一个需求你
可以立即写出sql语向。
4、熟练使用 jdbc类,知道何时使用下列的函数。
PreparedStatement
executeBatch
5、学握必要的数据库优化知识。
SQL数据库(简单)简答题
Microsoft SQL Server 2000简答题及其答案
1.在安装SQL Server 2000时,“仅客户端工具”、“服务器和客户端工具”及“仅连接”等安装定义有什么差别?
答:仅客户端工具:仅安装客户端工具。服务器和客户端工具:同时安装服务器和客户端工具。仅连接:仅安装客户端连接。
2.一个数据库中包含哪几种文件?
答:主数据库文件,辅助数据文件,事务日志文件。
3.事务文件和数据文件分开存放有什么好处?
答:因为利用事务日志备份可以将数据库恢复到特定的即时点(如输入不想要的数据之前的那一点)或故障发生点。在媒体恢复策略中应考虑利用事务日志备份。
4.什么是批处理?使用批处理有何限制?
答:包含一个或多个T-SQL语句的组,从应用程序将一次性发送到SQL Server执行,SQL Server批处理语句作为整体编译成一个可执行单元。
限制:如不能够在同一个批处理中更改表,然后引用新列。如在一个批处理程序中,有两条语句。第一条语句用来在一张表中插入一个字段,如在User表中插入员工的出生年月;第二条语句则用来引用这个列,如根据身份证号码来推算出这个员工的出身年月并把这个值赋值给这个第一条语句创建的出身年月字段。
5.数据检索时,COMPUTE和COMPUTE BY产生的结果有何不同?
答:Compute:第一个为明细行第二个为聚合函数的合计 Compute by:第一个为明细行第二个为聚合函数的小计
6.什么是索引?索引分为哪两种?各有什么特点?
答:1、数据库中的索引与书籍中的目录类似。在一本书中,利用目录可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。 2、聚集索引和非聚集索引。
3、聚集索引的特点:行的物理位置和行在索引中的位置是相同的,每个表只能有一个聚集索引,聚集索引的平均大小大约为表大小的5%左右。
非聚集索引特点:若未指定索引类型,则默认为非聚集索引,叶节点页的次序和表的物理存储次序不同,每个表最多可以有249个非聚集索引,在非聚集索引创建之前创建聚集索引。
7.创建索引有什么优点和缺点?
答:优点:索引在数据库中的作用类似于目录在书籍中的作用,用来提高查找信息的速度。
使用索引查找数据,无需对整表进行扫描,可以快速找到所需数据。
缺点:索引需要占用数据表以外的物理存储空间。创建索引和维护索引要花费一定的时间。当对表进行更新操作时,索引需要被重建,这样降低了数据的维护速度。
8.什么是视图?使用视图的优点和缺点是什么?
答:视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
优点:1隐蔽数据库的复杂性2控制用户提取数据3简化数据库用户管理 4简化查询
缺点:1性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由,一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也,把它变成一个复杂的结合体,需要花费一定的时间。2修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本,表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的,视图,可能是不可修改的。
9.修改视图中的数据会受到哪些限制?
答:1、必须有权限 2、单表视图直接改
3、多表可在视图中定义 instead of触发器.
4、对由多表连接成的视图修改数据时,不能同时影响一个以上的基表,也不能删除视图中的数据
5、对视图上的某些列不能修改,这些列是:计算列,内置函数列和行集合函数列
6、对具有NOT NULL的列进行修改时可能会出错。通过视图修改或者插入数据时,必须保证未显示的具有NOT NULL属性的列有值,可以是默认值,IDENTITY等,否则不能像视图中插入数据行。
7、如果某些列因为规则或者约束的限制不能接受从视图插入的数据时,则插入数据可能会失败
8、删除基表并不删除视图,建议采用与表明显不同的名字命名规则
10.什么是数据完整性?如果数据库不实施数据完整性会产生什么结果?
答:数据完整性是指数据的精确性和可靠性。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。
11.数据完整性有哪几类?如何实施?
答:1、数据完整性分为四类:实体完整性、域完整性、参照完整性、用户定义的完整性。
2、数据库采用多种方法来保证数据完整性,包括外键、束约、规则和触发器。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点。
12.什么是主键约束?什么是惟一约束?两者有什么区别?
答:主键约束:有一列或列的组合,其值能唯一的标识表中的每一行。
唯一约束:不允许数据库表在指定列上具有相同的值,但允许有空值。
区别:一个表可以定义多个唯一约束,只能定义一个主键约束;空值得列上可以定义唯一约束,不能定义主键约束。
13.什么是外键,怎样建立外键约束?
答:外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
14.什么是存储过程?使用存储过程有什么好处?
答:1、是存储在服务器上的 Transact-SQL语句的命名集合,是封装重复性任务的方法,支持用户声明变量、条件执行以及其他强有力的编程特性。
2、存储过程封装了商务逻辑,确保一致的数据访问和修改。若规则或策略有变化,则只需要修改服务器上的存储过程,所有的客户端就可以直接使用
屏蔽数据库模式的详细资料。用户不需要访问底层的数据库和数据库内的对象
提供了安全性机制。用户可以被赋予执行存储过程的权限,而不必在存储过程引用的所有对象上都有权限
改善性能。预编译的 Transact-SQL语句,可以根据条件决定执行哪一部分
减少网络通信量。客户端用一条语句调用存储过程,就可以完成可能需要大量语句才能完成的任务,这样减少了客户端和服务器之间的请求/回答包
15.什么是触发器?触发器分有什么作用?
答:触发器是一类特殊的存储过程,不能被直接调用,也不传递或接受参数
作用:1、维护不可能在表创建时刻通过声明性约束进行的复杂的完整性约束限制。
2、通过记录所进行的修改以及谁进行了修改来审计表中的信息。
3、当表被修改的时候,自动给其他需要执行操作的程序发信号。
OK,本文到此结束,希望对大家有所帮助。