SQL有哪些不同的子集?
- DDL(数据定义语言)它允许您对数据库执行各种操作,例如CREATE,ALTER和DELETE对象。
- DML(数据处理语言)它允许您访问和处理数据。它可以帮助您从数据库中插入,更新,删除和检索数据。
DCL(数据控制语言) 它允许您控制对数据库的访问。示例–授予,撤消访问权限。
DBMS是什么意思?
数据库是数据的结构化集合。
一个 数据库管理系统 (DBMS)是一个软件应用程序与用户,应用程序和数据库本身交互,以捕获和分析数据。
DBMS允许用户与数据库进行交互。可以修改,检索和删除存储在数据库中的数据,并且可以是任何类型,例如字符串,数字,图像等。有哪些不同类型?
DBMS有两种类型:
关系数据库管理系统:数据存储在关系(表)中。示例– MySQL。
非关系数据库管理系统:没有关系,元组和属性的概念。示例– Mongo
SQL中的表和字段是什么意思?
表是指以行和列的形式组织的数据集合。字段是指表中的列数。例如:
表:StudentInformation 字段:Stu ID,Stu名称,Stu标记什么是约束?
约束用于指定表数据类型的限制。可以在创建或更改表语句时指定它。约束示例为:
NOT NULL
- CHECK
- DEFAULT
- UNIQUE
- PRIMARY KEY
- FOREIGN KEY
DELETE和TRUNCATE语句有什么区别?
| DELETE | TRUNCATE | | —- | —- | | Delete命令用于删除表中的一行。 | 截断用于删除表中的所有行。 | | 您可以在使用delete语句后回滚数据。 | 您无法回滚数据。 | | 这是DML命令。 | 这是DDL命令。 | | 它比截断语句慢。 | 它更快。 |
什么是唯一键?
- 唯一标识表中的一行。
- 每个表允许多个值。
-
什么是外键?
外键通过强制两个表中的数据之间的链接来维护引用完整性。
- 子表中的外键引用父表中的主键。
- 外键约束可防止会破坏子表与父表之间的链接的操作。
SQL中的聚集索引和非聚集索引有什么区别?
SQL中的聚集索引和非聚集索引之间的区别是:
- 聚集索引用于轻松地从数据库中检索数据,并且速度更快,而从非聚集索引中读取数据则相对较慢。
- 聚簇索引会更改记录在数据库中的存储方式,因为它会按设置为聚簇索引的列对行进行排序,而在非聚簇索引中,它不会更改存储方式,但会在数据库中创建一个单独的对象搜索后指向原始表行的表。
- 一个表只能有一个聚集索引,而它却可以有许多非聚集索引。
解释不同类型的索引。
唯一索引:
如果列是唯一索引的,则此索引不允许字段具有重复的值。如果定义了主键,则可以自动应用唯一索引。聚集索引:
该索引对表的物理顺序进行重新排序,并根据键值进行搜索。每个表只能有一个聚集索引。非聚集索引:
非聚集索引不会更改表的物理顺序,并且会保持数据的逻辑顺序。每个表可以具有许多非聚集索引。解释不同类型的规范化。
有许多连续的标准化级别。这些称为范式。每个连续的范式都取决于前一个范式。前三个范式通常就足够了。
- 第一范式(1NF) –行内没有重复的组
- 第二范式(2NF) –每个非键(支持)列的值都取决于整个主键。
第三范式(3NF) –仅取决于主键,而没有其他非键(支持)列值。
数据库中的ACID属性是什么?
ACID代表原子性,一致性,隔离性,耐久性。它用于确保在数据库系统中可靠地处理数据事务。
原子性: 原子性是指完全完成或失败的事务,其中事务是指数据的单个逻辑操作。这意味着,如果任何事务的一部分失败,则整个事务都会失败,并且数据库状态将保持不变。
一致性: 一致性可确保数据必须符合所有验证规则。简而言之,您可以说您的事务永远都不会离开数据库而不完成其状态。
隔离:隔离 的主要目标是并发控制。
持久性: 持久性意味着如果事务已提交,则它将发生之间可能发生的任何事情,例如断电,崩溃或任何类型的错误。在SQL中,”触发”是什么意思?
SQL中的触发器是一种特殊的存储过程,已定义为在适当位置或在数据修改后自动执行。当对特定表执行插入,更新或任何其他查询时,它允许您执行一批代码。
递归存储过程是什么意思?
递归存储过程是指一个存储过程,它会自行调用直到达到某个边界条件。此递归函数或过程可帮助程序员多次使用同一组代码。
什么是视图?
视图是一个虚拟表,由表中包含的数据子集组成。由于不存在视图,因此占用的空间更少。视图可以合并一个或多个表的数据,这取决于关系。
视图的用途是什么?
视图是指基于表或另一个视图的逻辑快照。使用它的原因如下:
限制对数据的访问。
- 使复杂的查询变得简单。
- 确保数据独立性。
- 提供相同数据的不同视图。
什么是存储过程?
存储过程是一个由许多SQL语句组成的函数,用于访问数据库系统。几个SQL语句被合并到一个存储过程中,并在需要时随时随地执行它们,从而节省了时间并避免了重复编写代码。列出存储过程的一些优点和缺点?
优点:
可以将存储过程用作模块化编程,这意味着一次创建,存储并在需要时多次调用。这支持更快的执行。它还可以减少网络流量,并为数据提供更好的安全性。
缺点:
存储过程的唯一缺点是它只能在数据库中执行,并占用数据库服务器中更多的内存。