VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > sql数据库 >
  • sql语句大全之简介

简介

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求
数据库设计和开发标准是使Newegg Support Center的数据库系统的设计和开发正式化的标准。通过此标准,来规范数据库设计。
通过一致的系统解决方案,能给我们的系统带来以下优点:
       开发出高可管理性的高质量系统
       能够快速的进行开发
       减少维护代码的时间
       Þ  非常容易的把代码从一个项目拷贝至另一个项目
       Þ  节省把游标,错误处理信息从一个项目中拷贝到另一个项目中的时间
       Þ  使程序逻辑简单化
       Þ  不用花费时间在常规的事情上,比如对象名称转换等,并可允许多次设计,编程和对复杂事件的测试工作
                   在代码出错时大大节省时间
                   只要在第一次是有个良好的设计
 

3.开发环境

3.1数据库模型

CA公司的ERwin/SQL是数据建模的一个首选工具.
在开发经常改变的项目时,使用ERwin来生成表(创建/删除),索引,规则,数据类型等数据库对象的脚本,在对项目文件进行修改之前,请确认已经对这些脚本进行过备份.
任何数据库的改变,不管是在开发中还是在产品服务器中,都要用ERwinDiagram中进行相应的修改.如果产品服务器上做出了更改,则一定要对主脚本和ERwin diagram进行相应更新.

3.2 Diagrams

使用Visio进行数据diagram,流程图,服务器拓朴和其它diagrams进行设计.文档化系统或者处理流程可以大大有利于团队间的协作.

3.3版本控制

推荐使用Visual SourceSafe(VSS)对NESE数据库对象进行管理.
在任何项目中,都应该有很好的代码更改控制,初始版本文件应该放到VSS中并被注释.所有对这些文件的后继更改都应该放到VSS中管理.

3.4 源码目录结构

在项目刚开始时,找到一个所有Team成员都能够访问的共享.按照以下结构初始化VSS目录和数据库子目录:
\CMD 包括全系统脚本的脚本文件,如果是一个多数据库的系统,应该有一个可能创建所有数据库的命令文件.
\DBName  在系统中的每个数据库应该有自己的目录结构,如下:
\CMD:用来创建此数据库的脚本文件,并且来更改数据库构架.
\DAT:用来刷新此数据库的数据文件.
\SP:用来存储存储过程的脚本
\TBL:除了下面子目录,这个目录应该包括表的定义脚本,每个表应该有它自己的脚本,此脚本应该包括经表的删除,创建语句,索引,触发器,完整性参照,Check约束,默认值约束等,每个表创建语句应该包括在不同的脚本中,并被把归类到类似于下面的相应的子目录中.注意:本目录中的脚本和以下子目录的脚本应该命名为它所影响的表名,比如:表名.sql:
\Check:为每个表创建独立的Check约束定义脚本,Check约束应该使用alter table add constraint 来创建,并且每个alter table 语句只能包括一个contraint。
\DEFAULT:为每个表创建单独的Default约束定义脚本。注意这些是Default Constraints,而不是在创建表时的Default。
\FK:为每个表创建单独的外键约束定义脚本。
\Index:为每个表创建一个索引定义脚本,并把对应索引定义脚本放进去.
\PK:为每个表创建单独的主键定义脚本
\TRG:为每个表创建单独的触发器定义脚本,并把应用到此表上的触发器放进此脚本文件中。
\UDF:用户自定义函数。
\View:视图定义脚本。
\DCL: 数据控制语句脚本—主要包括控制所有的数据库对象的Grant 和 Revoke语句。
\MISC:这儿用于存放各式各样的其它脚本,例如alter table脚本或者一次更改的脚本,注意,不要放此目录看成是一个包罗各种脚本的容器,只应包括需要放到VSS中,但是又不属于上面所列目录的脚本。

4.物理数据库模型&字典

E-R 图表和数据字典可以让任何使用数据库的人都明确的知道如何从数据库中获得数据。E-R图对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名

4.1 物理数据模型

物理模型图形化的展现数据库的实现,它由逻辑数据模型及底层关系型数据库管理系统来决定,由逻辑模型转变为物理模型包括以下的任务:
       为实体和属性创建合理的数据库名字
       为每个属性设计数据类型和是否允许为空
       定义主键,外键和索引
       定义规则和默认值
       为优化性能,尽可能使数据库设计规范化,比如遵循1NF(第一范式),2NF(第二范式) 和3NF(第三范式)
为加快数据库设计速度,目前有很多数据库辅助工具(CASE工具),如Rational公司的Rational Rose,CA公司的Erwin, Sybase公司的Power Designer以及Oracle公司的Oracle Designer等。
ERwin主要用来建立数据库的概念模型和物理模型。它能用图形化的方式,描述出实体、联系及实体的属性。ERwin支持IDEF1X方法。通过使用ERwin建模工具自动生成、更改和分析IDEF1X模型,不仅能得到优秀的业务功能和数据需求模型,而且可以实现从IDEF1X模型到数据库物理设计的转变。ERwin工具绘制的模型对应于逻辑模型和物理模型两种。在逻辑模型中,IDEF1X工具箱可以方便地用图形化的方式构建和绘制实体联系及实体的属性。在物理模型中,ERwin可以定义对应的表、列,并可针对各种数据库管理系统自动转换为适当的类型。
设计人员可根据需要选用相应的数据库设计建模工具。例如需求分析完成之后,设计人员可以使用Erwin画ER图,将ER图转换为关系数据模型,生成数据库结构;画数据流图,生成应用程序。
ERwin是现在被广泛使用的数据模型设计软件,IDEF1X用来建立信息模型的标准。物理模型基于逻辑模型,ERwin同时支持逻辑模型和物理模型视图的设计。同时,ERwin可以产生所有的用来创建数据库的DDL脚本. 

IDEF1X 方法

下面的关系图描述最常用的IDEF1X表达式协定:

4.3 物理数据库数据字典

使用ERwin来对物理数据库数据字典进行维护。在属性定义编辑器中输入属性定义 。然后你就可以从ERwin中生成报表,把它们放到word 文档中,在属性报表中,将包括属性名字,数据类型,Null/Not Null和主/外键选项。把实体和属性定义放到一个一个文档中是很困难的,所以在不同的报表中创建它们.

4.4 性能设计

作为一个常规的规则,在一个具有标识列(identity property)的列上定义一个主键。这使与之存在关系的表有一个窄的行宽,从而使同一数据页中能被存储更多的数据行,因此相同条件下将会有更少的描描操作。
       定义聚集主键,这将会使二级索引占用较少空间。
       在外键上创建索引。
       不要使用过多的索引,要确认你知道哪个索引将被使用。
       确认对应表存在统计信息。同时在数据库中打开Auto Generate Stats 和 Auto create stats 选项。在一个只读的数据库中,我们可能需要手动的创建统计信息.
       在一个只读的数据库或者是很少被更改的数据库中使用100%的索引填充率。
       SELECT语句中,在非事务和特别的完整性要求的上下文中,要使用Table Hints――WITH NOLOCK
  

相关教程