数据库课本总结--

范式

第一范式(原子性,不可分割):

确保存在一个主键没有重复的 数据组,存在一个住建这个很容易理解,但是没有重复的数据,可能就会 有异议了,那么什么 是重复的数据组呢? 举个例子:一个 学号为01的学生,他的后面有他的电话和手机号,那么这样就算是 重复的数据组,可以这么想,他的电话和手机号,都可以联系到他所以这个就是重复的数据组。也就是说主键所在的行没有 重复的列。

第二范式(完全依赖):

首先第一范式是在第二范式的基础上存在的,如果第一范式不符合,那么第二范式也不符合。第二范式要求主键中的任意列必须没有局部性相关性。第二范式是第一范式的基础上解决多对多的实体关系,即在表中的每一行数据只能完成一个任务,同时每一个非主键属性都要完全依赖于主键属性,也就是说非主键属性要由主键推导出来,消除部分依赖的情况。举例:一个 炸鸡点在各个地区都有分店,每一个地区都有自己的编号,如果要找其中一家的分店,要根据地区编号找到这个分店。

 第三范式(无传递性):

符合第二范式,非主键都依赖于主键。在第二范式的基础上,摆脱非主键列的传递依赖,比如一个表中有三列A、B、C,存在着A决定B,且B决定C的情况,那么这个表就不属于第三范式,因为A可以通过传递依赖决定C。举例:在提高班一个人可能有 好几个师傅,但是根据你可以推出 你的师傅A,还可以根据你推出你的师傅B,这样有一个传递的过程。

select后面表示筛选的内容,from后面表示筛选内容来自的位置,where后面表示筛选的条件。

第一章

Decimal数据类型的灵活性在于它允许声明需要存储的数字的数目。

Decimal(38,12)表示分配38个空间,小数点后面保留12个数字的空间。

创建表

CREATE TABLE name_of_table

(name _of colume colume_datatype

)

更改现有表

ALTER TABLE name_of _table  允许添加并删除一个现有表中的列

ADD name_of _field data_type 添加新的列

DROP COLUMN name _of _field删除

删除现有表

DROP TABLE name_of _table

插入新数据

INSERT INTO table_name (column_names) VALUES (data_values)

更新数据

UPDATA table_name  

SET column _name=value

WHERE condition

逻辑运算符:and  or,and两边的必须都为真,or  一个表达式为真或两个表达式都为真

删除数据  

DELETE FORM Memberdatails;

like运算符:当搜索一个字符字段时,like允许使用通配符。

通配符:% 匹配一个或者多个字符

_匹配一个字符

Order by 排序,升序是默认的排序方式,降序在末尾添加DESC关键字

Oracle和IBM中,存在两种串连文本数据或基于文本的列的方式。在使用串连符号,使用两条垂线(||)字符,另一种是使用CONCAT()函数。  

视图 

 视图是一个虚拟表。在一个数据库中,如果需要抽出几个表中的数据,抽出来的东西放在视图里面,这个就是视图的作用,他不是一个真是的表。

在SQL中,视图(View)是一种虚拟的表,由一个或多个基本表的行和列组成。它是从一个或多个表中派生的,可以像表一样查询和使用。视图可以简化复杂的查询操作,提供数据的逻辑组织和安全性控制。下面是一个简单的示例代码和一个示例图,用于说明在SQL中如何创建和使用视图。

代码示例

CREATE VIEW customer_view AS
SELECT customer_id, first_name, last_name, email
FROM customers
WHERE status = 'active';

在上面的示例代码中,我们创建了一个名为customer_view的视图。该视图从customers表中选择了customer_id、first_name、last_name和email列,并且只包含status为'active'的行。

示例图: 下面是一个示例图,说明了视图在SQL中的概念和作用。

在上面的示例图中,customers表是一个基本表,包含了多个列。我们创建了一个名为customer_view的视图,它从customers表中选择了特定的列,并且只包含status为'active'的行。通过查询customer_view视图,可以获取到满足条件的数据。

总结:

在SQL中,视图是一个虚拟的表,由一个或多个基本表的行和列组成。它可以像表一样查询和使用,可以简化复杂的查询操作,并提供数据的逻辑组织和安全性控制。通过使用CREATE VIEW语句,可以创建视图。视图的定义基于一个或多个基本表,并可以包含选择、过滤和计算等操作。通过查询视图,可以获取到满足条件的数据。视图在SQL中起到了组织和管理数据的作用,提供了更高层次的抽象和灵活性。

数据库范式是用来设计和规范关系型数据库中表结构的一种方法。范式的目标是消除冗余数据、确保数据的一致性和完整性,并提高数据库的性能。以下是关于数据库范式的总结,包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BC范式(BCNF):

  1. 第一范式(1NF):

    • 数据表中的每个字段都应该是原子的,不可再分。
    • 每行数据具有唯一的标识符,如主键。
    • 重复的列应该被移动到单独的表中,以避免数据冗余。
  2. 第二范式(2NF):

    • 数据表必须满足第一范式。
    • 表中的非主键字段必须完全依赖于主键。
    • 如果存在部分依赖关系,应将相关字段移动到新的表中,以消除冗余和数据更新异常。
  3. 第三范式(3NF):

    • 数据表必须满足第二范式。
    • 表中的非主键字段之间不能有传递依赖关系。
    • 如果存在传递依赖关系,应将相关字段移动到新的表中,以消除冗余和数据更新异常。
  4. BC范式(BCNF):

    • 数据表必须满足第三范式。
    • 表中的每个函数依赖关系必须是从候选键到非主键字段的。
    • 如果存在非主键字段决定了其他非主键字段的情况,应将相关字段移动到新的表中,以避免数据冗余和更新异常。

总结: 数据库范式是一种设计原则,用于规范化关系型数据库的表结构。通过遵循范式规则,可以减少数据冗余,提高数据一致性和完整性,降低数据更新异常的风险,并提高数据库的性能。不同的范式提供了特定的规范化级别,根据具体的需求和数据特点,可以选择适当的范式级别来设计数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

谷艳爽faye

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

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

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

打赏作者

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

抵扣说明:

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

余额充值