---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

黑马程序员—SQLServer数据库知识笔记

Posted on 2012-12-04 10:39  xiulan  阅读(333)  评论(0)    收藏  举报

 

一、 数据的概念:

1、 信息:在理解数据的概念时,先要知道信息得概念。信息是对现实世界事物的存在方式或运动状态的反映。信息具有可感知、可存储、可加工、可传递和可再生等自然属性,信息也是各行各业不可缺少的资源,这是它的社会属性

 2、 数据:数据是数据库存储的基本对象,是对客观事物特征的一种抽象的符号化表示,是记录下来的信息,如数字、文字、图形、声音和图像等。把各种数据采用特定的二进制编码存入计算机,就是计算机中的数据,在计算机中,程序员用数据抽象出事物的特性来表示事物。

举个例子来理解,比如利用自然语言描述一个学生:张三是一名2008年入学的男大学生,199066日出生,海南人

在计算机里就可以这样描述该生的信息:

姓名    性别    出生年月    籍贯    入学时间
张国    男    1990-6-6    海南    2008

二、数据模型的术语

1、 实体(Entity):客观存在并可以相互区别的事物称为实体。实体可以是人、事物或者物;也可以是抽象的概念或联系。如一个教师、一个部门、一个产品和教师所在系的工作关系都是实体

2、 属性(Attribute):实体所具有的某一特性称为属性。一个实体可由若干个属性来描述。如学生实体可以由学号、姓名、性别、出生年月等属性来描述。这些属性组合起来就是一个学生实体

3、 码:(Key)唯一标识实体的某个属性和属性组合称为码,也叫做关键字,如学号是学生实体的码

4、 域:(Domain)每个属性都有一个取值范围,该范围称为该属性的域。如身份证的域是18位整数,性别的域为男和女

5、联系:(Relationship)在现实世界中,事物内部及事物之间是有联系的,一般存在两种类型的联系;一种是实体内部的联系,通常指组成实体的各属性之间的联系,另一种是实体之间的联系,通常指不同实体集之间的联系

 注意:在画E—R(实体—联系方法)时,实体用矩形表示;属性用椭圆表示;联系用菱形表示

 

三、关系数据库的基本运算

1、 数据定义语言DDLData Definition Language):有create(创建数据集)、drop(删除数据集)、alter(修改数据集)

2、数据操作语言(Data Manipulation Language):有insert(插入数据)、update(更新数据)、delete(删除数据)

 

四、数据库

 1、数据库的概述:

数据库是表、视图、存储过程和触发器等数据库对象的集合,是数据库管理系统的核心。

A、数据库文件类型

(1) 主数据文件(Primary File):主数据文件是数据库的起点,用来存放数据库的数据和数据库的启动信息。每一个数据库有且仅有一个主数据文件,主数据文件的默认扩展名是.MDF

(2) 次数据文件(Secondary File):次数据文件也叫辅助数据文件,次数据文件是可选的,主要用来存放不在主数据文件中的其他数据和对象。使用次数据文件可以扩展存储空间,次数据文件的默认扩展名是.NDF

事务日志文件(Transaction Log):事务是一个单元的工作,该单元的工作要么全部完成,要么全部不完成。事务可以保证数据库操作的一致性和完整性,凡是对数据库的增删改查等操作,都会被记录在事务日志文件中。如果数据库被破坏时可以使用该文件来恢复数据库的数据。每个数据库至少要有一个事务日志文件,其扩展名为.LDF

B、数据库文件组

1)文件组时文件的逻辑集合。文件组可以把一些指定的文件组合在一起以便数据库管理和分配数据,提高数据的查询速度,进行维护。例如,在某个数据中有3个文件(data1.ndfdata2.ndfdata3.ndf)分别创建在3个不同的磁盘驱动器上,并且为他们指定了一个文件组fgroup1。创建表后可以将其存放在fgroup1中。这样对该表中数据进行查询时将在这3个磁盘上同时进行,可以提高查询的效率

2)使用文件和文件组时,应该考虑以下因素

a、一个文件或文件组只能用于一个数据库,而不能用于多个数据库

b、一个文件只能是某个文件组的成员,不能同时是多个文件组的成员。

c、数据库的数据信息和日志信息不能放在同一个文件或文件组中,数据文件和日志文件总是分开的

d、日志文件永远也不能是任何文件组的一部分

3)系统数据库

SQL Server 数据库包含系统数据和用户数据库。其中,系统数据库是安装SQL Server时系统自动安装的,系统数据库用来操作和管理系统,用户数据库是由用户自己创建,存放用户自己的数据

A、 master数据库:是SQL Server的主数据库,包含了SQL Server系统中系统级的信息,如系统配置信息、登录信息、系统存储过程和系统视图等。另外,该数据库还记录了SQL Server的初始化信息,因此,如果该数据库不可用,则SQL Server将无法启动

B、 tempdb数据库:为临时表和其他临时存储需求提供的存储空间,是一个由SQL Server上所有数据库共享使用的空间。每次启动SQL Server时,都会重新创建tempdb数据库,以便系统启动时,该数据库是空的,当用户离开或关机时,临时数据库中创建的临时表会删除,当空间不够时,系统会自动增加它的空间,临时数据库系统中负担较重的数据库,可以将他置于RAM中以提高数据库的性能

C、 model数据库:包含了每个数据所需要的系统表格,是SQL Server的模板数据,当创建一个用户数据库时,模版数据库中的内容会自动复制到所创建的用户数据库中,通过修改模版数据库中的表格,用户可以自定义配置新建数据库对象

4.1)使用SQL Server Management Studio 创建数据库

A、 启动【SQL Server Management Studio】,在【对象资源管理器】窗口中,右击【数据库】节点,在弹出的快捷菜单中选择【新建数据库】命令,如图

B、  打开【新建数据库】对话框,如图所示即可设置想要创建的数据库

 

4.2)用Transact—SQL创建数据库

A、  使用create database 语句创建数据库的最简单方法是:“create database 数据库名”,该语句可以创建一个默认选项的数据库,其中数据库文件和日志文件按服务器属性中指定的默认位置存放,数据文件默认大小3MB,日志文件默认大小是1MB,并且数据文件和日志文件都自动增长。

当要自己定义数据与日志文件的大小时,可以这样写:

--数据库的创建
--写出在“E:\CLGL”文件夹中创建包含一个主数据文件和一个事务
--日志文件数据库CLGL的SQL代码。
CREATE DATABASE CLGL
ON PRIMARY
(
  NAME='clgl_data',
  FILENAME='E:\CLGL\clgl_data.mdf',
  SIZE=50MB,
  MAXSIZE=UNLIMITED,

  FILEGROWTH=2MB
)
LOG ON
(
  NAME='clgl_log',
  FILENAME='E:\CLGL\clgl_log.ldf',
  SIZE=10MB,
  MAXSIZE=200MB,
  FILEGROWTH=10%
)

5)附加、分离和删除数据库

5.1)附加数据库

a、 使用SQL Server Management Studio附加数据库

a)、启动【SQL Server Management Studio】,在【对象资源管理器】窗口中,右击【数据库】节点,在弹出的快捷键菜单中选择【附加】命令,打开【附加数据库】对话框,如图:

 

b)、单击【添加】按钮,打开【定位数据库文件】对话框,选择将要附加的数据库文件(即扩展名为.mdf的文件),单击【确定】按钮返回。

(b)          当【状态】为就绪时,单击【确定】按钮,该数据库就与SQL Server 服务器分离

5.2)、用Transact-SQL附加数据库

 

7)删除数据库

7.1)使用SQL Server Management Studio分离数据库

a)、启动【SQL Server Management Studio】,在【对象资源管理器】窗口中,展开【数据库】节点

CREATE DATABASE telephone 
    ON (FILENAME = 'D:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\telephone.mdf')
    
    FOR ATTACH;
GO

6)分离数据库

6.1)使用SQL Server Management Studio分离数据库

(a、)启动【SQL Server Management Studio】,在【对象资源管理器】窗口中,展开【数据库】节点,右击要分离的数据库,在弹出的快捷菜单中选择【任务】—>【分离】命令,打开【分离数据库】的对话框。

(b)在【分离数据库】中,显示要分离数据库的选项

 

(c)当【状态】为就绪时,单击【确定】按钮,该数据库就与SQL Server 服务器分离

6.2)使用Transact-SQL分离数据库

EXEC sp_detach_db @dbname = 'telephone'
GO

7)删除数据库

7.1)使用SQL Server Management Studio分离数据库

a)、启动【SQL Server Management Studio】,在【对象资源管理器】窗口中,展开【数据库】节点

b)、右击要删除的数据库,在弹出的快捷菜单中选择【删除】命令

c)打开【删除数据库】对话框,单击【确定】按钮,完成数据库的删除操作

7.2)使用Transact-SQL分离数据库

第一种方法利用Transact-SQL语句
drop database student
第二种用系统存储格式完成
exec sp_dbremove telephone

五、数据库表

1、 启动SQL Server,单机工具栏中的【新建查询】,输入如下SQL语句,即可创建一个表:

--  读者类型(类型编号,类型名称,最大借阅天数,最大借阅数量),
--  将[读者类型]表中的[类型编号]字段设置为主键
use CLGL
   CREATE TABLE 读者类型
  (
    类型编号 char(2) CONSTRAINT pk_lxbh PRIMARY KEY,
    类型名称 char(30),
    最大借阅天数 tinyint,
    最大借阅数量 tinyintPRIMARY KEY 主键约束

2、删除表:

use CLGL                                                        
go 
drop table 读者类型
go

3、修改表

-- 将[读者类型]表中的[类型名称]字段设置为非空;
     ALTER TABLE 读者类型
        ALTER COLUMN 类型名称 char(20) NOT NULL

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima/