【SQL Server 2008】基础知识—数据库相关概念及操作

¥···坚持每天写点东西,感觉很好,既复习基础知识,又可以收获成就感,何乐而不为呢?···¥

一、数据库的相关概念

1. 物理存储结构

  数据库文件在磁盘上的存储形式:

  * 主数据文件—只能有一个*.mdf

  * 辅助数据文件—*.mdf

  * 日志文件—*.ldf

  * 文件组—日志文件不属于任何一个文件组

2. 逻辑存储结构

  由数据表,视图,索引等不同的数据库对象所组成,它们分别用来存储特定信息并支持特定功能。

3. 数据库命名规则

  1) 第一个字符必须是"字母",或者"_",或者"@"、“#”

  2) 数据库名称不能是T-SQL的保留字

  3) 不允许嵌入空格或者其他特殊字符

4. 数据库的分类

  系统数据库:(中央管理机构)

  master  model  msdb  tempdb  resource

  用户数据库:

  用户自己创建的数据库

--指向我们所操作的数据库
use master
--查询系统表sysdatabases中所有数据
select * from sysdatabases

5. 数据库的特点

安全性、并发访问处理、高效率、海量数据存储、数据完整性

注意:

 1)除了Access、SQLite等文件型数据库之外,大部分数据库都需要数据库服务器才能运行。在我们日常开发测试时候连接本机的数据库,不过上线运行时是数据库运行在单独的服务器。

 2)DBMS(DataBase Management System,数据库管理系统)和数据库。在我们日常谈论的“数据库”可能有两种含义:MSSSQLSever、Oracal等某种DBMS;存放一堆数据表的一个分类(Catalog)

 3)不同品牌的DBMS有自己的特点:MYSQL(速度很快,适合对数据要求不是十分严谨的地方,去掉了一些中小型企业中补偿用的功能)、MSSQLServer(与.net结合的最好)、DB2(大型)、Oracle(大型)、Access(文件)、SQLite(极其轻量级文件数据库)、Sybase等。

二、主键、外键

1. 主键(PrimaryKey)

主键就是数据行的唯一标识。不会重复的列才能当主键。一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键。

主键有两种选用策略:业务主键和逻辑主键业务主键是使用有业务意义的字段做主键,比如身份证号码、学号等;逻辑主键是使用没有任何业务意义的字段做主键。完全给程序员看的,业务人员不会看数据。由于很难保证业务主键不会重复(身份证号重复)、不会变化(账号升位),因此推荐使用逻辑主键

2. 表间关联、外键(ForeignKey)

外键(外码)用于建立和加强两个表的数据之间的链接。将表中的一个字段或多个字段组合成为外键链接到其他表的主键上,以此建立外键约束维护关系表间的引用完整性。

三、使用可视化视图创建数据库

右键数据库—新建数据库—名称、设置属性

1. 创建数据库时候需要哪些属性

  * 文件名称,存放位置,分配的初始空间,属于哪个文件组;

  * 文件增长:

  * 文件容量设置:可以指定文件增长的最大值或不受限

  * 兼容级别:版本号

  * 数据库是否只读:默认false

  * 限制访问: multi_user (正常状态)

                        single_user (维护操作的状态)

                        restricted_user 

2. 使用管理器创建一个数据库:(多个文件组)

3. 使用SQL语句创建数据库

 1> 使用SQL语句创建数据库

USE master  --指向当前使用的数据库
GO          --批处理的标志

--开始
CREATE DATABASE Student    --创建Student数据库
ON PRIMARY   --主文件组
(
	NAME = 'Student_data',   --主文件逻辑文件名
	--主文件物理文件名
	FILENAME = 'D:\Prj\DateBase\Student_data.mdf',
	SIZE = 5MB,           --主文件的初始大小
	MAXSIZE = 100M,       --主文件的增长的最大值
	FILEGROWTH = 15%      --主文件的增长率
)

LOG ON --日志
(
	NAME = 'Student_log',  --日志文件逻辑文件名
	FILENAME = 'D:\Prj\DateBase\Student_log.ldf', --日志物理文件名
	SIZE = 5MB,         --日志文件初始大小
	FILEGROWTH = 0      --未启用自动增长	
)
GO    --批处理,意思是从开始一直到结尾执行

** 主文件和日志文件是一定要的

 2> 使用SQL语句创建数据库(创建多个数据库文件和多个日志文件)

USE master  --指向当前使用的数据库
GO          --批处理的标志

CREATE DATABASE Student    --创建Student数据库
ON PRIMARY   --主文件组
(
	NAME = 'Student_data',   
	--主文件物理文件名
	FILENAME = 'D:\Prj\DateBase\Student_data.mdf',
	SIZE = 5MB,           
	MAXSIZE = 100MB,      
	FILEGROWTH = 15%      
),   -- 第一个文件的结束

FILEGROUP HAHA --创建了一个次(辅助数据)文件组HAHA
(
	NAME = 'Student2_data',
	--辅助数据文件,使用mdf结尾
	FILENAME = 'D:\Prj\DateBase\Student2_data.ndf',
	SIZE = 5MB,               
	FILEGROWTH = 15%      
)

LOG ON --日志
(
	NAME = 'Student_log',  
	FILENAME = 'D:\Prj\DateBase\Student_log.ldf', 
	SIZE = 5MB,        
	FILEGROWTH = 0      
),  
(
	NAME = 'Student2_log',  
	FILENAME = 'D:\Prj\DateBase\Studen2t_log.ldf', 
	SIZE = 5MB,         
	FILEGROWTH = 0 	
)
GO
 3> 向现有的数据库文件中添加文件组数据文件

 1. 使用视图下添加文件组

  添加一个辅助数据文件,可以选择数据组。

 2. 使用sql语句 (alter是数据库的修改语句)

USE Student
GO          
--添加文件组HAHA
ALTER DATABASE Student ADD FILEGROUP HAHA
GO

-- 为新建的文件组HAHA添加数据文件
ALTER DATABASE Student ADD FILE
(
	NAME = 'HAHA_Student_data',   
	--主文件物理文件名
	FILENAME = 'D:\Prj\DateBase\HAHA_Student_data.ndf',
	SIZE = 5MB,              
	FILEGROWTH = 15% 
)TO FILEGROUP HAHA
GO

-- 将HAHA文件组设置为默认
ALTER DATABASE Student
MODIFY FILEGROUP HAHA DEFAULT
GO
4. 删除数据库

 1> 在视图中删除

  2> 使用sql语句删除数据库

USE master  
--删除数据库
--检测需要操作的数据库是否存在(创建时候也会使用)
IF EXISTS (SELECT *FROM sysdatabases WHERE name = 'Student')

DROP DATABASE Student
GO
5. 关于数据库的别的操作,增加,删除,查找,修改等等。流程与上面类似^_^

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值