我们的车库是用来存放车的,水库是用来存放水的,而我们现在所说的数据库就是用来存放数据的,将我们的数据存放在数据库这么一个空间内,方便与管理与维护。
在我们没有基础数据库之前相信很多人都会认为数据库一定很复杂,不然他怎么能识别、管理那么多的数据。
其实数据库的构成很简单,他主要是由数据库对象构成,通过SQL与T-SQL管理这些对象已达到人们想要的效果,是数据更完整、更安全。
下面是我总结的一张有关数据库的思维导图(可点击查看大图):
大家可以看到,数据库对象主要由表、视图、索引、触发器、存储过程组成。下面我们来详细说一下这几个对象。
一:表
我相信大家对表并不陌生,想我们平时用的excel就是有一张张的表组成,其实我们的数据库也一样,他就是有一张张的二维表构成,将我们的数据记录在其中。
我们平时将在excel中我们将表的行和列就叫行与列,而在这里我们的行变成了记录,列变成了字段。
所谓无规矩不成方圆,那么我们在建表,对表操作时也要有一定的规则、约束。
(1) 约束:
主键:通过设置表的主键来确定表中记录的唯一性。
例如我们的在学校中有很多重名的,那么学校是怎么确定我们每个人的呢?怎么来给我们记档案呢?这就是通过我们的主键约束来识别的,学校将我们的学号设为主键,它是唯一的,一个学号对应一个人,那么这样只要对应学号找人,那么是不会错的。
外键:将两个表相关联
我们都知道在学校里我们的很多的老师、学生、院系…我们每个人又学习很多门课程,每门课程又有不同的老师教授,那么我们怎么将这些都联系起来呢?这时就用到我们的外键了,我们就可以通过外键将两个不同的表联系起来。例如:有一张学生表一张选课表,学生表中有一记录为选课号,选课表中也有一记录为选课号,我们只要将学生表中的选课号设为外键,那么这样我们就将学生表与选课表联系起来了。
唯一性:可以确保在非主键字段或字段组合中不输入重复值
核查约束:通过一个或多个字段的输入值是否符合设定的核查条件来强制数据的完整性
(2) 规则:
是绑定到字段或用户定义数据类型,并指定字段可接受哪些数据值的数据库对象
(3) 默认值:
若在插入记录时没有指定字段的值,则默认值将指定字段中所使用的值。
二:视图:
可以通过视图来为用户提供他们所需要的数据,可以让用户以不同的方式看到不同的数据库,这样不仅简化了用户对数据的操作,而且简单有效的保证了安全机制。
三:索引:
索引就像我们的书的目录,可以帮助我们加快检索速度。
四:触发器
我所理解的触发器就是:所谓触发,那么它就需要有一个事件来开启它。例如:创建一个欢迎新同学的触发器(内容为:欢迎新同学加入!),当你在往学生表中插入数据时,就会触发这个触发器,就会显示:“欢迎新同学加入!”
五:存储过程
存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。这样我们就可以多次调用它,省去了我们重复编写代码的繁琐。也大大提高了我们的效率。
了解了这些对象,下面就是创建和管理它了。我们有两种方法:
一、通过企业管理器
这种方法简单方便,不用编写代码就可以方便的实现。
二、通过语句
概括的说创建使用Create语句,删除用Drop,修改用Alter
在对数据库的操作中,sql语句与T-SQL语句可以说是万能的,通过这两种语句我们可以对数据库进行我们想做的任何操作,但最基本的就是增、删、改、查这四种语句,其它语句基本上是建立在这四种语句基础之上的。
我们学会了对数据库操作,那么现在是什么都要强调安全,我们的数据库也不例外。
(1) 首先,在登录时我们可以选择windows身份验证和SQL Server身份验证,那么着两种验证有什么区别呢?
windows身份验证:是一种信任连接,不需要用户名和密码,仅根据windows权限来验证,不能远程的登录,较安全。
SQL Server身份验证:是一种非信任连接,需要用户名和密码,能远程登录。
(2) 其次我们可以通过设置用户的角色和权限来保证数据的安全性。
(3) 我们都知道我们数据库中的数据时存储在硬盘上的,如果我们的电脑出了问题,数据库遭到破坏怎么办,不用担心,我们可以去通过备份与恢复来避免意外的发生。
对于数据库还有很多需要学习的地方,希望各位能多多指教。。。