SQL Server 7.0 入门(一)(转)

交互式SQL(Transact SQL,TSQL)
它是SQL Server的查询语言。提供以下命令:
· 创建和数据库对象。
· 访问和修改数据。
· 数据聚合(aggregation,又称聚集)。
· 实施安全措施。

数据库对象
    数据库对象是数据库中的物理对象。这些对象拥有唯一的名字,并保存数据和数据关系信息。SQL Server定义了如下几种对象:

1、 表(table)
表是用来存储数据的两维数组,它有行和列。列也称为表属性或字段,表中的每一列拥有唯一的名字,每一列包含具体的数据类型,这个数据类型由列中的数据类型定义。

2、 视图(view)
视图是虚拟的表,它只包含表的一部分。与表不同的是,保存在视图中的数据并不是物理存储的数据,它是由表派生的,派生表被称为视图的基本表。视图的定义存储在数据库中。

3、 约束条件(constraint)
约束条件定义数据的完整性和有效性。约束条件为列中的值建立规则。换而言之,如果在某一列上定义了结束条件,则插入这一列的每一个值需要通过约束条件检查。约束条件是在触发器和规则上保证数据完整性和有效性的较佳选择。SQL Server Query Optimizer利用约束条件产生出低成本的查询计划。约束条件有如下类型:

· NOT NULL 这个约束条件要求列中不能有NULL值。

· CHECK 为列指定能拥有的值的集合后,检查约束条件。列中任何在定义之外的数据都为无效数据。有效值集合称为列的域。

· PRIMARY KEY 主关键字是列或列组合,它用来唯一标识一行。

· FOREIGN KEY 用来定义两个表之间的父子关系。如果一个关键字既是一个表的主关键字的一部分,同时又是另一个表的主关键字,则称它为外来关键字。外来关键字用来定义数据的引用完整性。

· UNIQUE 唯一约束条件是指无任何两行在列中有相同的NON-NULL值。唯一性由主关键字保证,但他们不允许NULL值,并且每一个表只能有一个关键字。

4、 默认值(default)
默认值是为列定义的值,如果在插入一行时没有提供某一列的值,则此列使用默认值,默认值可以是以下的一种:

· 常量
· 数学表达式
· 内部函数(Built-in function)

5、 规则(rule)
规则执行和CHECK约束条件同样的功能。但规则和约束条件不同的是:规则作为独立的对象存在,它可以用于多个表,而约束条件作为表的一部分存储。然而,规则是作为向后兼容特点而提供的,建议用户使用约束条件。

6、 触发器和存储过程
触发器和存储过程是一个TSQL命令集,它们作为一个对象存储在数据库中。

对象命名约定
SQL Server用三段式(three-part)名字标识对象:
..
前两部分可以省略,系统有一个默认值。数据库名的默认值是当前数据库,所有者名的默认值是数据库所有者(dbo)。

数据类型
    任何包含数据的对象都有一个数据类型和它关联。数据类型是指定对象能包含何种数据的属性。

    SQL Server数据类型
数据类型
说 明
同 义

Bit
1位,值为0或1
Int

Integer
4字节,值为-2^31~2^31-1


Smallint
2字节,值为-2^15~2^15-1


Tinyint
1字节,值为0~255


Decimal (p,s)
数字数据,固定精度为P,宽度为S
Numeric

Money
8字节,存放货币类型,值为-2^63~2^63-1


Small money
4字节,存放货币类型,值为-214748.3648~+214748.3647近似数值数据类型


Float (n)
N在1~24之间,4字节,7位精度
N=1~7为real


N在25~53之间,8字节,15位精度
=8~15为float

Datetime
8字节,描述某天的日期和时刻,值的精确度为1/300秒


Smalldatetime
4字节,描述某天的日期和时刻,精度为分钟


Cursor
对游标的引用


Timestamp
8字节,存放在数据库内唯一的数据


Uniqueidentifier
16字节,存放全局唯一标识(GUID)


Char (n)
非unicode字符串的固定长度,n=1~8000
Character (n)

Varchar (n)
可变长度,非unicode字符串n=1~8000
Char varying(n)

Text
服务器代码页中可变长度非unicode数据。最大长度为231-1个字符


Nchar
固定长度unicode字符串n=1~4000
National character (n),
National char(n)

Nvarchar
固定长度unicode字符串n=1~4000
National character varying(n)

Ntext
可变长度unicode数据,最大长度为230-1个字符
National text

Binary (n)
固定长度二进制数据,n在1~8000之间,存储空间为n+4字节


Varbinary (n)
可变长度二进制数据,n=1~8000
Binary varying (n)

Tmage
可变长度二进制数据,大小为0~231-1


注意:
1)  对于数值型数据类型,宽度(scale)是指存储在小数点后的数字位数,而精度(precision)是指能存储的包含小数点在内的所有数字位数。

2)  money和small money的存储宽度为4。

3)  时间戳列值在每一行更新时系统自动更新,时间戳列不能是关键字或关键字的一部分。

4)  唯一标识数据类型不能使用算术操作符(如+、-等),这种数据类型只能使用相等比较操作。Unicode是所有字符集的一致存储数据的标准。它要使用两倍于非Unicode数据存储的存储空间。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-124464/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-124464/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一部分 概觀篇 1. 微軟SQL Server的發展歷史:1989到1999 [加入我的離線書架] . Ron的故事 . Kalen的故事 . Microsoft SQL Server發行 . 發展過程中的角色 . OS/2和合作伙伴間的戰火(Friendly Fire) . 4.2版 . SQL Server For Windows NT . 成功所帶來的改變 . 合作開發的結束 . SQL95的任務 . 下一個版本 . Sphinx的秘密 . 新的未來 2. SQL Server導覽 [加入我的離線書架] . SQL Server引擎 . DBMS強制的資料完整(Data Integrity) . 交易(Transaction)處理 . 對稱(Symmetric)伺服器架構 . 安全(Security) . 高可用性(Availability) . 分散式資料處理 . 資料複製(Replication) . 系統管理 . SQL Server公用程式(Utility)與延伸部分(Extension) . 用戶端開發介面 . 總結 第二部分 架構概觀篇 3. SQL Server架構 [加入我的離線書架] . SQL Server引擎 . 記憶體管理 . 交易日誌記錄(Transaction Logging)與回復(Recovery) . SQL Server核心(Kernel)以及與作業系統的互動(Interaction) . 總結 第三部分 使用Microsoft的SQL Server 4. 規劃及安裝SQL Server [加入我的離線書架] . SQL Server的版本 . 硬體指引 . 硬體元件 . 作業系統 . 檔案系統 . 安全性與使用者身份(Context) . 授 權 . 網路協定 . 字元集與排序順序 . 安裝SQL Server . 安裝後的基本組態 . 遠端與不在場安裝 . 總結 5. 資料庫與資料庫檔案 [加入我的離線書架] . 特殊系統資料庫 . 資料庫檔案 . 建立資料庫 . 擴增(Expand)與縮減(Shrink)資料庫 . 修改交易日誌(log)檔案大小 . 資料庫檔案群組(Filegroups) . 修改資料庫 . 資料庫的內部 . 資料庫選項 . 其他資料庫考量 . 總結 6. 表格(Table) [加入我的離線書架] . 建立表格 . 內部儲存體-細節 . 索 引 . 使用者自訂型態 . Identity屬性 . 限制(Constraints) . 修改表格 . 暫存表格 . 總結 7. 查詢資料 [加入我的離線書架] . 查詢(SELECT)敘述 . NULL的處理 . 子查詢(Subquery) . 檢視表和導出表格(Views and Derived Tables) . 其它的搜尋運算子 . 總結 8. 修改資料 [加入我的離線書架] . 基本的修改動作 . 內部資料修改 . 總結 9. Transact-SQL程式設計 [加入我的離線書架] . 將Transact-SQL當作程式語言 . Transact-SQL程式設計構詞兒─基礎 . 總結 10. 批次、交易、預儲程序與觸發 [加入我的離線書架] . 批次(Batch) . 交易(Transaction) . 預儲程序 . 執行批次或預儲程序預儲什麼? . 觸發(Trigger) . 預儲程序與觸發的除錯(Debugging) . 使用Text與Image資料 . 環境的考量 . 總 結 11. 游標(Cursor) [加入我的離線書架] . 游標基本概述 . 游標與ISAM . 游標模式 . 適當的使用游標 . 使用Transact-SQL游標 . 游標變數 . 總結 12. Transact-SQL範例與難題 [加入我的離線書架] . 使用觸發器(Trigger)來實作參考動作(Referential Actions) . 難題(Brainteaser) . 總結 13. 鎖 定 [加入我的離線書架] . 鎖定管理員(Lock Manager) . 使用者資料的鎖定型別 . 鎖定相容性 . 結合連線(Bound Connection) . 列階層與分頁階層鎖定 . 鎖定提示(Hints)與追蹤旗標(Trace Flags) . 總結 第四部分 效能與調整篇 14. 查詢效能最佳化 [加入我的離線書架] . 開發小組 . 應用程式與資料庫設計 . 規劃尖峰使用量 . 了解互動系統的回應時間 . 建立原型(Prototyping)、標準效能評估 (Benchmarking) 與測試 (Testing) . 建立有用的索引 . 使用預儲程序(stored procedure)與快取機制 . 同時性(concurrency)與 一致性 (consistent) 互抵 (trade-off) . 解決阻擋(Blocking)問題 . 解決死結問題 . 分離OLTP與DSS應用程式 . 查詢最佳化 . 監控查詢效能 . 總結 15. 設定與效能監看 [加入我的離線書架] . Windows NT組態設定 . SQL Server組態設定 . 系統維護 . 監看系統行為 . 總結 建議閱讀書目 [加入我的離線書架]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值