预备知识
1.学习数据库必须学习数据库原理吗?
答:需要!但如果没有此基础,需要在学习过程中自主学习所需理论知识。
2.学习SQL SERVER必须得先学习一门编程语言吗?
答:不需要,但如果拥有一门语言的基础,在编写数据库过程中会更容易上手。
3.数据结构与数据库的区别?
答:数据库是在应用软件级别研究数据的存储和操作。
数据结构是在系统软件级别研究数据的存储和操作。
建议学习数据库的时,同时学习数据结构的知识,虽然表面看起来没啥关联,但关于索引等种种过程的实现,需要在数据结构课程中有所了解。
4.什么是连接?
答:在SQL SERVER Management Studio中所进行的操作是在客户端上,而非数据库中,真正的数据库可以在服务中查找到,若该服务未开启,则无法连接到数据库,如图1所示。
图1
在编写过程中,有些命令可以一起发送,有些命令不可以一起发送,可能导致出现语句都正确却报错,相关知识在后续批处理章节会有介绍。
5.有了编程语言为什么还要数据库?
答:编程语言对内存数据操作是强项,却对硬盘数据操作是弱项,但数据库对硬盘数据操作是强项,此为数据库研究的核心问题。
6.建议从三方面学习数据库:
1.数据库是如何存储数据的?
字段、记录、表、约束(主键、外键、唯一键、非空、check default、触发器)
2.数据库是如何操作数据的?
insert、updata、delete、T-SQL、存储过程、函数、触发器
3.数据库是如何显示数据的?
select(重点!)
必备的一些操作
1.如何建立数据库
.mdf(数据文件)、.LDF(日志文件);
表~类(不同语言间作类比)
2.如何删除数据库
删除时,需勾选关闭现有连接
3.如何附加和分离数据库
关于分离:右键该库->任务->分离
分离后可以将.mdf文件与.LDF文件拷贝出来,附加到其他设备上使用。
关于附加:右键数据库->附加->添加(选择.mdf文件即可)
关于连接数据库
分为Windows身份验证和SQL Server身份验证(移植性强)
设置一个SQL Server身份
安全性->右键登录名->新建登录名(选择SQL Server身份验证)->设置登陆名与密码->取消勾选强制密码过期
TIP:个体<------>个体关系(通过主键和外键产生联系,一个表中的数据来自另一个表)
数据库是如何解决数据存储问题的
1.表的相关数据
字段
一个事物的某一个(静态)特征。
记录
字段的组合,表示的是一个具体的事物。
表
记录的组合,表示的是同一类型事物的集合。
表和字段和记录的关系
字段是事物的属性;
记录是事物本身;
表是事物的集合。
列
字段的另一种称谓。
属性
字段的另一种称谓。
元组
记录的另一个称谓。
TIP:先创建主键表再创建外键表(含有外键字段的表)。
手动添加外键
1.在表中添加主键的位置,右键选择关系,可以在标识(名称)中修改外键的名字为foreign_key。
2.点击常规(表和列规范)右边的...,设施完成后如图2所示:(PK表示主键,FK表示外键)
图2
图3-外键表
图4-主键表
图5
如上图3图4图5所示,当主键表中外键的数据与外键表不一致时则会报错。