爱飞 发表于 2015-1-16 14:18:46

DBMS扩大功能与SQL初级话题

CSV逻辑上由逗号分割数据的存储引擎9.DBMS供应的扩大功效

把握了基础的干系模子道理和DBMS的数据范例,还必要对DBMS供应的扩大功效有所懂得,才干充实使用DBMS举行数据库开辟。

9.1.把持流

SQL是申明式言语,但DBMS面临实践开辟的需求,一般在SQL方言中都供应了历程式的扩大,包含(以T-SQL为例):
1.变量界说和赋值

DECLARE@var<datetype>--变量界说语句
SET@var=<value>--经由过程SET语句赋值
SELECT@var=MAX(column_value)FROM--经由过程SELECT语句赋值

2.代码块
BEGIN...END界说一个代码块。
关于上面的IF/ELSE和WHILE,假如疏忽了BEGIN...END代码块,前提和轮回将只对厥后的第一个语句失效。
3.前提分支语句
IF...ELSE...
注重IF语句与CASEWHEN表达式的区分。
4.轮回把持语句
WHILE能够举行轮回。BREAK/CONTINUE能够跳出或举行下一次轮回。
5.非常处置语句
SQLServer2005撑持TRY-CATCH语句举行非常处置,但只能处置一部分非常。详见联机丛书。

9.2.静态语句

SQL静态语句的功效很壮大,可是难以调试和保护(字符串拼接、无语法高亮)、效力低(难以重用实行企图)、平安性差(SQL注进)。除非功效上必需,不然只管制止利用静态SQL。

假设真的必要利用静态SQL,利用sp_executesql的体例优于EXEC()的体例。由于前者有些时分能够重用实行企图而改良功能,并且同意传参,数据范例上更平安。

9.3.DBMS撑持的数据库工具

SQLServer还撑持一时表、视图、存储历程、自界说函数(标量和表值)、触发器、游标等数据库工具,这是使用SQLServer举行开辟必需把握的常识。参看《MicrosoftSQLServer2005手艺内情:T-SQL程序计划》相干章节。

9.4.DBMS供应的体系函数、体系视图和体系存储历程

-SystemFunctions:供应特定的表达式运算功效,如日期工夫函数、字符串函数、数学函数、聚合函数等,是T-SQL编程必须的。
-SystemViews:包括了数据库元数据、体系外部运转数据等,如目次视图(用来取代SQLServer2000中的体系表)、信息架构视图、静态办理视图等。
-SystemProcedures:检察体系信息、修正体系设置等,如目次存储历程、数据库引擎存储历程等。

9.5.DBMS供应的工具

-数据库服务器设置工具:设置办理器、核心使用设置器等
-数据库客户端使用工具:SSMS、sqlcmd、bcp等
-数据库功能工具:SQLServerProfiler等


10.初级话题

以下是数据库相干的初级话题,每块都值得独自会商,本帖不再胪陈。

1.初级手艺专题
-数据库计划
-服务器架构
-索引和功能优化
-事件、锁定与并发
-备份与复原
相干书目:
-《SQLServer2005数据库服务器架构计划》
-《MicrosoftSQLServer2005手艺内情:存储引擎》
-《MicrosoftSQLServer2005手艺内情:查询、调剂和优化》
-《SQLServer2005功能调校》

2.开辟和保护相干的办理专题
-数据库权限办理
-数据库工具的版本把持
-数据库开辟的定名标准在JOIN操作中(需要从多个数据表提取数据时),MySQL只有在主键和外键的数据类型相同时才能使用索引。

老尸 发表于 2015-1-18 12:48:11

你可以简单地认为适合的就是好,不适合就是不好。

分手快乐 发表于 2015-1-24 12:09:19

SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)

精灵巫婆 发表于 2015-2-1 12:07:02

两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书

admin 发表于 2015-2-7 05:32:35

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

海妖 发表于 2015-2-20 23:51:45

原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。

只想知道 发表于 2015-3-6 19:37:18

比如日志传送、比如集群。。。

兰色精灵 发表于 2015-3-13 08:08:35

对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。

爱飞 发表于 2015-3-20 17:22:24

从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。
页: [1]
查看完整版本: DBMS扩大功效与SQL初级话题