位置: 编程技术 - 正文

浅述SQL Server的语句类别 数据库范式 系统数据库组成(sql server概述)

编辑:rootadmin

推荐整理分享浅述SQL Server的语句类别 数据库范式 系统数据库组成(sql server概述),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server的使用方法,sql server的功能和特点,sql server的功能和特点,sql server的功能和特点,简述sql server,sqlserver基本介绍,sql server的主要功能和特点,sql server概述,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

终于等到这一天,我要开始重新系统学习数据库了,关于数据库这块,不出意外的话,每天会定时更新一篇且内容不会包含太多,简短的内容,深入的理解。

SQL语句类别

SQL语句包括以下三个类别

(1)数据定义语言(Data Definnition Language)即DDL,我们数据最终从何而来,当然首先必须得建立表,所以它包括CREATE、ALTER、DROP表。

(2)数据操作语言(Data Manipulation Language)即DML,我们对数据需要进行什么操作,当然无非就是增删改查,所以它包括SELECT、INSERT、UPDATE、DELETE,其中还包括TRUNCATE、MERGE。

(3)数据控制语言(Data Control Language)即DCL,我们操作数据库时针对不同的用户会授予不同权限。

数据库范式

范式是什么玩意,它意指规范化规则,通俗易懂一点讲则是定义的规范、规则,需要我们去遵守,那么为何要定这一套规则呢?我们反过来想,肯定是前人遇到过,若不定义这一套规则,则出现这样或那样的问题,为了规避这样问题的出现则出了这一套规则,主要是为了解决如下两点问题。

(1)避免在数据修改过程中出现异常。

(2)保持数据最低限度的冗余。

数据库范式最基础的范式为第一范式(1NF)、第二范式(2NF)、第三范式(3NF),还有更高层次的范式,但太过于复杂我们不做探讨,大部分书籍都这样说,我们就这样去了解。

第一范式(1NF)

定义:关系表中行必须是唯一且属性是原子性的。

太晦涩,太抽象,不太懂,我们一一来分析,我们看看上述定义中重点在于行【唯一】,属性【原子性】。

那么到底什么情况下才算是行唯一呢?

第一:既然是唯一,那么行中某一标识必须是已知而非未知即不能为空

第二:唯一也就是说不能重复诺

第三:怎么保证行唯一呢?通过定义一个唯一键来实现唯一行。

那么到底什么是原子性呢?

第一看到原子这个词语是不是会立马联想到中国独立研制的原子弹爆发,又或者是上化学课遇到的第一个化学式2H2+O2=2H2O,2个氢气即4个氢原子与1个氧气即2个氧原子集合生成1个水分子, 哦,回顾一下,分子是由原子组成,原子由原子核和核外电子组成,原子核又由质子和中子组成,还有什么夸克之类的,无论是程序语言还是数据库中都一直在讲原子性,为什么没有讲质子性和夸克性呢,因为原子已经算是比较小的,所以一直用原子性来强调并划分,为了方便理解,可以这么思考,后面的就不用在叙述,到了这里还没明白么,就相当于原子组成分子,将原子作为最小的粒度即不能再分,那么我们反过来想属性的原子性即属性不可再划分,这又是什么意思,比如在表中有一个地址属性,如果我们存如(湖南省,岳阳市,华容县)这样就违背了第一范式,这个属性还是可以再划分为省、城市、县。

到这里我们可以作出总结第一范式满足的条件:

(1)唯一标识的键

(2)键不能为空

(3)键不能重复

浅述SQL Server的语句类别 数据库范式 系统数据库组成(sql server概述)

(4)属性不可再划分

第二范式(2NF)

定义:在满足第一范式的前提下,每一个非键属性必须满足对整个候选键的完全函数依赖即非键属性不能是对候选键某部分的完全函数依赖。

好了,我们继续入上述解释第一范式来解释第二范式晦涩难懂的定义。我们看下如下表

上述定义候选键都是指的主键。上述给出表中OrderId和ProductId都是作为候选键即主键,但是此时我们可以通过部分候选键(主键)比如OrderId得到OrderDate、CustomerId和CompanyName等列,此时是仅仅是OderId的部分依赖而非对OderId和ProductId二者的完全依赖。此时为了表现出对候选键的完全依赖应该划分成如下两个表。

所以将上述定义通俗讲则是:属性对主键应该属于完全依赖而非部分依赖,否则违反第二范式。

第三范式(3NF)

同样第三范式是在满足第一和第二范式的前提下来看第三范式。

定义:所有非键属性必须依赖于非传递的候选键,也就是非键属性相互之间必须相互独立,进一步讲非键属性之间不能形成依赖关系。

我们看看上述经过修改满足第二范式的两个表,此时订单表中OrderId为主键,客户Id即CustomerId和公司名称即CompanyName对OrderId是完全依赖,我们可以通过订单Id得到客户Id,也可以通过订单Id得到公司名称,同时我们也可以通过客户Id得到客户公司名称,也就是说此时CustomerId和CompanyName是一种传递关系,而非相互之间独立。此时若需要满足第三范式则应该是如下表示:

我们可以看出第三范式着重强调的是非键属性与非键属性之间独立,而第二范式着重强调的是非键属性与候选主键的完全依赖。所以第二范式和第三范式我们统一概括为:非键属性必须是对键的依赖,而非相互之间依赖,并且是对整个键的依赖。

系统数据库组成

当打开数据库中后在数据库下默认会有个系统数据库,里面的内容如下:

master

master数据库存储实例范围的元数据信息、服务器配置、实例中的所有数据库信息和初始化信息。

Resource

Resource数据库是一个隐藏、只读数据库,存储所有系统对象的定义。

model

model数据库是创建新数据库的模板,创建的每个新数据库都是有model的副本初始化创建的。

tempdb

tempdb数据库是SQL Server存储临时数据的地方,如工作表、排序空间、行版本控制信息。同时SQL Server允许我们创建我们自己使用的临时表,并且这些临时表的位置是tempdb,但是我们需要注意的是每当重新启动SQL Server实例时,该数据库将会被破坏掉,并由model副本创建。

msdb

msdb数据库是SQL Server代理的服务存储数据的地方,SQL Server代理负责自动操作,包括作业、计划和警报,同时也负责复制服务等等。

总结

本节我们着重讲解了SQL语句的组成以及数据库的三个范式,对系统数据库的组成进行简短的介绍,属于了解的范畴吧,今天我们先到这里,我们下节再会。

标签: sql server概述

本文链接地址:https://www.jiuchutong.com/biancheng/318993.html 转载请保留说明!

上一篇:如何快速删掉SQL Server登录时登录名下拉列表框中的选项(如何快速删掉通讯录联系人)

下一篇:详解SQL Server数据库架构和对象、定义数据完整性(sql server数据)

  • 投资性房地产采用成本模式计量
  • 什么是本期应纳税所得额
  • 小规模纳税人广联达怎么取费怎么取
  • 金融企业哪些方面可以进行数据分析
  • 房地产企业样板间装修费计入什么科目
  • 小规模纳税人零申报逾期未申报
  • 股权转让实缴和认缴的区别
  • 发票未到怎么暂估入账
  • 属于企业期间费用的有
  • 收购发票能使用几次
  • 滴滴代叫乘客有没有事
  • 委托加工消费税纳税义务发生时间
  • 搬迁补偿收入计入什么会计科目
  • 委托加工物资加工完毕验收入库后作为
  • 工程款支付利息依据
  • 参加公司比赛后的感想
  • 无法收回的款项怎么记账
  • 专用增值税发票怎么作废
  • 开具的增值税发票丢失最新处理办法
  • 进项税额转出是好事还是坏事
  • 退税记录显示税务审核中
  • 如何确定连锁店的纳税地点?
  • 对外出租设备
  • 现金流量表的填写视频
  • 员工出差补贴怎么入账
  • 增值税发票复印件
  • 建筑业一般纳税人简易计税和一般计税
  • 增值税中的视同销售区分为几种情况?
  • 电脑开机弹出网页游戏广告
  • win7怎么更改开机启动项
  • 开机要按f1才能进系统
  • 特殊收入应扣减可加计扣除的研发费用政策依据
  • 其他费用的账务处理
  • ts与vue3.0
  • 资产负债表要点
  • axios提交文件
  • 提坏账准备的会计分录 2022
  • 政府购买企业服务是否交税
  • 小规模纳税人减免增值税会计处理
  • 最全面的心脏检查怎么做
  • 毕业设计基于web难还是JAVA
  • 取得抵债资产支付的税费一般不包括下列哪种
  • 微擎框架是开源的吗
  • 发票过期未认证可以用吗
  • 劳动仲裁支付的赔偿金怎么入账
  • 贷款为什么要把车过户给别人
  • 公司车辆固定资产转移税
  • 工会经费上缴流程
  • 新会计准则有哪三个
  • 房屋租赁房产税如何征收
  • mysql数据库死锁
  • 补贴收入是否缴纳个税
  • 审计助理是干啥的
  • 2020年税务师报名流程
  • 金税盘入什么科目
  • 预收账款要预交税金吗
  • 长期待摊费用装修费分摊分录
  • 资产季末值
  • 企业之间土地交易
  • 账户设置的三种情况
  • 会计错账的更正方法及适用范围
  • mysql分表命令
  • mysql加密解密
  • mysql中字符串类型
  • mysqldump导出csv文件
  • 电脑开机怎么设置默认系统
  • solaris删除文件夹命令
  • mac使用vim
  • win7 64位系统提示"Windows7不能识别网络打印机"的故障原因及解决方法
  • windows7电脑无法正常运行
  • win8系统怎么打开运行
  • 使用vue-cli快速搭建vue项目
  • web标准有那几个方面
  • 如何获得select选中的值
  • 服务器总是自动关机
  • 一次性批量随机抽取
  • Custom List in inspector, displaying data your way[Unity]
  • python发送信息到微信
  • 河南医疗保险网上怎么缴费截止时间
  • 税控盘税务数字证书密码是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设