笔记开始
整理下数据库的笔记。
本笔记的复习资料的主要来源:
http://www.microsoft.com/sqlserver/2005/en/us/demos.aspx
第一章 什么是数据库
一、数据库究竟是什么
1. 数据库是结构化的数据存储文件
2. 文件的结构确保文件的精确性
3. 数据库文件的访问权限、数据的维护通常由软件来管理,SQL SERVER正是这样一款软件
二、为何需要数据库
为何需要数据库而不直接把数据存储在txt或者excel等文件中,而需要数据库?使用数据库给我们许多许多的方便。比如减少数据冗余,比如数据查询更加方便,比如数据访问权限的控制,而且,通常来说,存储在数据库中的数据所需要的空间要比直接存储在文件中的数据所需要的空间小。
三、什么是关系数据库
关系数据库靠以下几点来维护数据的完整性:
1. 数据类型的正确性
2. 除去冗余数据使数据唯一来保证数据的精确性
3. 避免关系数据被意外删除的可能
4. 数据被高效的存取和操作
四、关系数据库的其它服务
1. 安全性
2. 管理(备份、恢复、复制)
3. 临时报表
4. 可用性
五、C#和SQL SERVER的交互ADO.NET
1. ADO.NET和数据库握手(数据里那届)
2. ADO.NET执行命令(插入、更新、删除)
3. ADO.NET执行查询(读数据、过滤数据等等)
第二章 理解数据库表和记录
一、数据库表
数据库可以包含多个表,数据库表是由列和行组成的。
二、列
列有列名,列的类型来保证数据的完整性,有助于数据空间的存储
三、行
行用来存储一个实体的信息。
四、Field
Cell
五、术语
CRUD=Create,Read,Update,Delete
第三章 深入数据类型和其它属性
一、什么是数据完整性
数据完整性说的主要有:保证数据类型的正确性;保证重要数据不意外丢失;保证数据值在用户要求的特定范围中。
二、约束
关系数据库用约束来强制数据的完整性。
约束主要包括数据类型的约束;引用约束;其他约束。
三、数据类型的选择
大数据
Int
时间
Smalldatetime
小数据
smallint
货币
smallmoney
大量文本
Varchar(max)
Text(unicode)
nvarchar
四、为何需要合适的数据类型
1. 太大的数据类型浪费空间
2. 太小的数据类型不够存储
3. 不正确的数据类型需要数据转换
4. 不正确的数据类型使得读取更加困难
五、表中的重要列
主键列,唯一列,索引列,自增列
第四章 设计关系表
一、为什么使用关系数据库
关系数据库保证数据完整性,减少数据冗余;降低数据存储空间;提高性能
二、主键、外键
主键可作为行的唯一标识(各行的主键都不相同)
外键用于连接另一张表(一行的数据为另一张表的主键)
三、如何设计关系
建表、建主键、建外键、建关系
四、数据关系
一对多,一对一,多对多
第五章 数据库数据操作
一、应用程序从数据库获得数据
ADO.NET,操作SQL来查,操作数据
二、SQL
CRUD。
三、READ(SELECT)
--获取表的所有列
SELECT * FROM Customers
--获取表的特定列
SELECT FirstName,LastName FROM Customers
--给特定列命名
SELECT FirstName as 'First Name',LastName as 'Last Name' FROM Customers
SELECT FirstName 'First Name',LastName 'Last Name' FROM Customers
SELECT FirstName a,LastName b FROM Customers
--连接列
SELECT FirstName+' '+LastName as 'Customer Name' FROM Customers
--增加查询条件
SELECT * FROM Customers WHERE CustomersID = 5
SELECT * FROM Customers WHERE CustomersID > 5
SELECT * FROM Customers WHERE CustomersID >= 5
SELECT * FROM Customers WHERE CustomersID <> 5
SELECT * FROM Customers WHERE FirstName = 'Fred'
SELECT * FROM Customers WHERE DateCreate > '2008-12-01' AND DateCreate < '2008-12-31'
SELECT * FROM Customers WHERE DateCreate > '2008-12-01' OR DateCreate < '2007-12-31'
--一些函数
SELECT SUM(Tax) as 'Taxes Collected' FROM Orders
SELECT COUNT(Tax) as 'Taxes Collected' FROM Orders
SELECT ProductID, ProductPrice as 'Regular Price', ProductPrice*.9 as 'Sale Price'
FROM Products
SELECT Min(ProductPrice) FROM Products
SELECT Max(ProductPrice) FROM Products
SELECT Avg(ProductPrice) FROM Products
SELECT OrderID, OrderDateTime,Month(OrderDateTime),Day(OrderDateTime) FROM Ordes
SELECT GetDate()