一周速学SQL Server(第一天)

相关文章链接:

一周速学SQL Server(第二天)​​​​​​​

​​​​​​​一周速学SQL Server(第三天)

一周速学SQL Server(第四天)​​​​​​​

一周速学SQL Server(第五天)

一周速学SQL Server(第六天)​​​​​​​

 一、预备知识

1.1、什么是数据库?

1)狭义:存储数据的仓库

2)广义:可以对数据进行存储和管理的软件数据本身统称为数据库

3)数据库是由表、关系、操作组成 

1.2、为什么需要数据库

1)几乎所有的应用软件的后台都需要数据库

2)数据库存储数据占用空间小,容易持久保存

3)存储比较安全存储在.mdf.LDF文件中需要用特定软件和权限才能打开

4)容易维护和升级

5)数据库移植比较容易

6)简化对数据的操作

1.3、预备知识

1)数据结构和数据库的区别?

数据库是在应用软件(外层)级别研究数据的存储和操作

数据结构是在系统软件(内层)级别研究数据的存储和操作。

2)什么是连接

连接就是客户端和数据库之间的联系

3)为什么有了编程语言还需要数据库?

对内容数据操作是编程语言的强项,但是对硬盘数据的操作却是编程语言的弱项。

对硬盘数据操作却是数据库对强项,是数据库研究的核心问题。

4)数据库基本操作:建库;建表;数据维护。

5)数据库的迁移:

        数据库的分离、附加;

        数据库的备份,还原;

        数据库脚本的保存。

二、数据库的基本概念

2.1、数据库

Database 按照一定的数据结构来组织存储和管理数据的仓库。存储在一起的相关数据的一个集合

2.2、数据库管理系统

Database Management System(DBMS)为管理数据库而设计的一个电脑软件系统

分为两种:

        关系数据库,建立在关系模型基础上的数据库 SqlServer、 MySQL、Oeracle、Access;

       非关系数据库,不使用SQL作为查询语言。  

2.3、数据库系统

由数据库和数据库管理系统组成。

三、创建数据库(工具创建数据库)

3.1、创建数据库

1)方式:工具创建数据库   脚本创建

服务器名称:local   .   127.0.0.1    远程:服务器IP,端口号

身份验证:Windows身份验证(不需要用户名和密码)  

                    SQL Server身份验证(需要输入用户名和密码)

 2)创建一个新的登录名

        ​​​​​​​windows身份验证登陆,安全性—>登录名->右击登录名,选择新建登录名,选择SQL身份验证,设置登录密码,给它设置服务器角色

         注意要给登录名设置服务器对应角色权限),不能自己给自己设置权限​​​​​​​

3)创建数据库过程:

右击数据库节点->选择新建数据库->设置数据库名称,路径->点击确定即成功创建数据库

3.2、数据库文件

数据库是由文件文件组组成。

1)​​​​​​​主要数据文件:存放数据和数据库的初始化信息。每个数据库有且只有一个主要数据文件。默认以.mdf为扩展名

2)次要数据文件:存放除了主要数据文件以外的所有数据的文件。次要数据文件并不是必须的,可以有多个,默认以.ndf为扩展名

3)​​​​​​​​​​​​​​事务日志文件:存放用于恢复数据库的所有日志信息。每个数据库至少要有一个日志文件。默认.ldf扩展名

3.3、文件组

​​​​​​​​​​​​​​是数据库文件的一种逻辑管理单位,它将数据库文件分成不同的文件组。方便对文件的分配和管理。

1)主文件组 Primary :一般包含主要数据文件和没有明确指派给其他文件组的文件。

2)​​​​​​​​​​​​​​用户自定义文件组 :Create DataBase和 alter database fileGroup关键字指定的文件组。

设计原则:(1)文件只能是一个文件组的成员;

                   (2)文件或文件组不能由一个以上的数据库使用;

                   (3)数据和日志信息不能属于同一个文件或文件组;

                 (4)日志文件不能作为文件组的一部分。

四、创建数据库(脚本方式)

方式一:

 方式二:

 五、数据库常用对象

1、表:包含数据库中所有数据的对象,行和列组成,用于组织和存储数据。

2、字段:表中的列,一个表可以有多个列。

3、视图:是一个虚拟表(可以从一张或多张表进行联合查询),用户查看数据的一种方式,结构和数据都是建立在对表的查询基础之上。

4、索引:给用户提供一种快速访问数据的途径,依赖于表而建立。

5、存储过程:是一种为了完成特定功能的SQL语句的集合(可以有查询、插入、修改、删除等),编译后,以名称形式存储在数据库中。调用时以名称进行调用。

6、触发器:属于用户定义的SQL事务命令集合。当对表进行增删改操作时,命令就会自动触发而执行。

7、约束:对数据表中的列进行的一种限制,对表中的列进行规范。

8、缺省值:对表中的列可以指定一个默认值。

六、数据类型

​​​​​​​6.1、数值型

1)整型数据类型:bigint  int  smallint  tinyint

2)浮点型:float  近似数值,存在精度损失;

                      real   近似数值,real = float(24);

                      decimal 精确数值,不存在精度损失。decimal(p,s),p表示最大位数,s表示小数点右侧的小数位数。

3)货币类型

6.2、字符型

1)Character 字符串:char(n)(固定长度:8000字符);

                                        varchar(n)(可变长度字符串,最多8000字符);

                                        Varchar(max)(可变长度字符串,2^31字符);

                                        text(可变长度的字符串,最多2GB字符)

2)Unicode 字符串:nchar(n);nvarcha(n);nvarchar(max);ntext.

注意: 前面带n,存储中文、英文或数字,存储大小2个长度;

             不带n,存储英文或数字,存储1个长度,中文两个长度。

6.3、日期类型

1)datatime:精确度高,3.33毫秒;​​​​​​​

2)datatime2:精度更高,100纳秒;

3)samlldatetime:精度为1分钟;

4)date:仅存储日期;

5)time:仅存储时间

6.4、其他类型

其他类型:sql_variant;uniqueidentifier(存储全局标识符GUID);xml;cursor;table

七、创建表及主外键

7.1、创建主键

1)一个表中,会存很多条记录,需要一个列来标识一条数据—主键。

2)什么样的列可以设置为主键:值不能重复不能为空。

​​​​​​​3)什么叫标识列?

        一个列设置成标识类,它就不能再手动插入,插入时,自动生成的。这个列,类型必须是不带小数的数值型。

        标识类由标识种子和增量组成

                标识种子:第一条记录标识列的值;

                增量:增加的数值。

4)创建一个主键,同时自动创建了一个聚集索引。

7.2、创建外键

1)外键:一般在两个表之间要建立关联的时候创建。一个列创建为外键它在另一个表必须是主键。

2)DeptId 外键表    Userfos 主键表

 

创建外键步骤:


​​​​​​​

        两个表一旦建立外键关系,外键表里的对应的外键列,它的值必须是它对应的主键表里的主键值,如果想插入一个不存在的值,是无法插入的。

        一个表里可以有多个外键,也可以没有。

        一个表只能有一个主键。也可以没有主键(一般都会设置主键)。

猜你喜欢

转载自blog.csdn.net/beiye_/article/details/127016065
今日推荐