SQL Server从入门到精通(一)

数据库基础和数据库设计

首先先介绍一下自己——阿猪,一名软件工程系大二的小学妹,正在努力学习,但是老喜欢偷懒,为了督促自己从今天起开始写博客 ,先来学习SQL Server看着我的博客一起开学习吧,共同进步啊。

要学习数据库首先我们来了解一下什么是数据库
数据库:存储在一起被集中管理的相关数据的集合
特别提醒:如果你对数据库原理比较熟悉,那底下的内容可以略过,如果你没有系统的接触过数据库原理那就老老实实跟着阿猪一起学习吧,一步一个脚印走稳了
好了下面我们进入正式的学习

1.1数据库系统

数据库系统包括:数据库、数据库管理系统以及使用数据库的用户和支撑数据库管理系统运行的软硬件。从用户角度来看数据库系统分为单用户结构、主从式结构(B/S)、客户—服务器结构(CS)和分布式结构
1.1.1数据、信息、数据库
1.数据:(Data)描述事物的符号记录 如:数据数值,声音、图像等。
2.信息:(Information)具有一定含义的、经过加工的、对决策有价值的数据。特点:无限性、共享性、创造性。信息是有用的数据,数据是信息的表现形式。
3.数据库:(DataBase,DB)长期存放在计算机内的、有组织的、可共享的数据集合。
1.1.2数据库管理系统(DBMS)
他是位于用户和操作系统之间的一层数据管理软件,主要功能如下:
1.数据定义功能:提供数据定义语言DDL
2.数据操纵功能:提供数据操纵语言DML(查询、插入、删除、修改)
3.数据库的运行管理:数据库建立、运行、维护
4.数据库的建立和维护功能:数据库初始数据的输入、转换功能、性能监视等等

1.2数据库系统结构

1.2.1数据库系统模式的概念
模式(Schema):数据库中全体数据的逻辑结构和特征的描述,他只涉及型的描述,不涉及具体的值。模式中一个具体的值称为模式的一个实例(Intance)
注意:模式反应的是数据的结构及其联系,而实例反应的是数据库某一时刻的状态
1.2.2数据库系统的三级模式结构
数据库系统结构分为三层:内模式、概念模式(模式)和外模式

1.概念模式(所有用户的公共视图):

1.数据库只有一个概念模式。由许多记录类型的值组成如:部门记录值的集合、职工记录值的集合等等。在DBMS中描述概念形式的数据定义语言称“模式DDL”(Schema Data Definition Language)
2. 外模式(用户可见的视图):也叫子模式(Subschema)或用户模式。一个系统有多个外模式。用户数据操纵语言(DML)对数据库进行操纵,实际上是对外模式的外部记录进行操作。
3. 内模式(存储模式):数据物理结构和存储方式的描述,一个数据库只有一个内模式
1.2.3数据库的二级映像功能与数据独立性
1.外模式/概念模式映像:用于定义外模式和概念模式之间的对应性。即外部记录和内部记录间的关系。
2.模式/内模式映像:用于定义概念模式和内模式间的对应性,实现两级的数据结构数据组成等的映像对应关系。
1.2.4数据库系统用户结构
(阿猪犯懒了所以1.2.4用其他小伙伴的资料了,求原谅)

  1. 单用户数据库系统
    这种系统中,整个数据库系统(包括应用程序、DBMS、数据)都装在—台计算机上,由一个用户独占,不同机器之间不能共享数据。
    例如,一个企业的各个部门都使用本部门的机器来管理本部门的数据,各个部门的机器是独立的。由于不同部门之间不能共享数据,因此企业内部存在大量的冗余数据。例如,人事部门、会计部门、技术部门必须重复存放每一名职工的一些基本信息(职工号、姓名等)。

  2. 主从式结构
    主从式结构是指一个主机带多个终端的多用户结构。在这种结构中,数据库系统(包括应用程序、DBMS、数据)都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发地存取数据库,共享数据资源。
    主从式结构的优点是简单,数据易于管理与维护。缺点是当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能大幅度下降。另外当主机出现故障时,整个系统都不能使用,因此系统的可靠性不高。

  3. 分布式结构
    分布式结构是指数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同节点上。网络中的每个节点都可以独立处理本地数据库中的数据,执行局部应用:同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用。
    分布式结构的数据库系统是计算机网络发展的必然产物,它适应了地理上分散的公司、团体和组织对于数据库应用的需求。但数据的分布存放,给数据的处理、管理与维护带来困难。此外,当用户需要经常访问远程数据时,系统效率会明显地受到网络交通的制约

  4. 客户/服务器结构
    主从式数据库系统中的主机和分布式数据库系统中的每个节点机是一个通用计算机,既执行DBMS功能又执行应用程序。随着工作站功能的增强和广泛使用,人们开始把DBMS功能和应用分开,网络中某个(些)节点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器;其他节点上的计算机安装DBMS的外围应用开发工具,支持用户的应用,称为客户机,这就是客户/服务器结构的数据库系统。
    在客户/服务器结构中,客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户(而不是整个数据),从而显著减少了网络上的数据传输量,提高了系的性能、吞吐量和负载能力;另一方面,客户/服务器结构的数据库往往更加开放。客户与服务器一般都能在多种不同的硬件和软件平台上运行,可以使用不同厂商的数据库应用开发工具,应用程序具有更强的可移植性,同时也可以减少软件维护开销。
    客户/服务器数据库系统可以分为集中的服务器结构和分布的服务器结构。前者在网络中仅有一台数据库服务器,而客户服务器是多台。后者在网络中有多台数据库服务器。分布的服务器结构是客户/服务器与分布式数据库的结合。
    与主从式结构相似,在集中的服务器结构中,一个数据库服务器要为众多的客户服务,往往容易成为瓶颈,制约系统的性能。
    与分布式结构相似,在分布的服务器结构中,数据分布在不同的服务器上,从而给数据的处理、管理与维护带来困难。

原文地址 :http://blog.sina.com.cn/s/blog_772215060100rk0y.html.

1.3关系数据库及其设计

阿猪回来了保证不偷懒了。。。。。。(就当没看见)
1.3.1关系数据库
一个关系就是一张二维表,由行和列组成 如下:

姓名性别
张三
李四

注意:一行就是一个单元组(也称为记录)一列就是一个属性起一个名叫属性名(也叫字段名)
1.3.2关系数据库设计
设计是很重要的直接影响了数据库管理系统对数据的控制质量那就从以下几个方面来考虑
1.需求分析
2.概念结构设计
3.逻辑结构设计
4.数据库表的优化与规范化
5.数据库表间的联系
这里既不详细介绍了如果爱学习向详细了解可以参照课本,主要原因小阿猪懒了。。。

1.3.3关系数据库的完整性
完整性的约束防止的是对数据的以外破坏,从而降低应用程序的复杂性
1.实体完整性约束(PRIMARY):主关键字段的各属性值不能取空值
2.唯一性约束(UNIQUE):在约束的字段不能有相同的值出现,如学号
3.参照完整性约束(FOREING):外关键字的值必须来源于被参照关系表的取值或为空值。外关键字:F是基本关系R的一个或一种属性,但不是关系R的关键字
估计这句话还是没有理解,那阿猪就来举一个例子吧
选课表中的学号和开课号字段单独都不是选课表的关键字,但是,学号是学生表的主关键字,开课号是开课表的主关键字,所以选课表的学号相对于学生表就是外关键字,参照完整性约束要求选课表中的学号值必须在学生表的学号中可以找到,否则就只能取空值。
1.3学生表

学号姓名性别
S1110张三
S1112李四

1.31选课表

学号开课号成绩
S1110010193
S1112010295

4.检查(CHECK)和默认值(DEFAULT)约束

1.4教学管理数据库操作任务

这一块不需要了解如果想了解可以参考书查看
好了这就是初步学习的第一章,喜欢的来用赞赞来鼓励一下阿猪嘻嘻嘻

已标记关键词 清除标记
相关推荐
课程简介 随着互联网的发展,软件的规模在逐渐变大,用关系型数据库如何存储和处理大规模的业务数据成为企业面临的挑战, 关系型数据库作为OLTP(联机事务处理过程)系统的首选毋庸置疑,但是关系型数据面对大规模数据的处理有其先天的不足,比如单表存储上千万数据时便会出现不同程度的处理速度缓慢问题,如何解决?分库分表技术就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成 ,将数据大表拆分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。本课程将系统的讲解分库分表技术。 课程价值 分库分表技术是为解决关系型数据库存储和处理大规模数据的问题,主要应用于OLTP系统,它与应用于OLAP(联机分析处理)的大数据技术有不同的应用场景,本课程本着从解决生产实际问题出发,讲授分库分表技术的解决方案,包括:垂直分库、垂直分表、水平分库、水平分表、读写分离,涵盖了分库分表的各种方案,并且深入讲解Sharding-JDBC框架的原理及使用方法,通过学习本课程可以快速应用到生产实践中。 课程优势 本课程不仅讲解多种有效的分库分表的解决方案,还深入讲解了Sharding-JDBC框架的原理和使用方法,Sharding-JDBC是一套轻量级的对代码零侵入的框架,在生产中有广泛的使用。本课程从思想原理、技术框架、案例实操三个方面去学习,可以快速的将分库分表技术应用到生产实践中,解决大数据存储与处理的问题。
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页