SQL知识点概念DBSDBS=DB+hardware+software(DBMS)+human概念DBMS数据模型描述数据数据关系形式,有:层次模型、网状模型、关系模型数据抽象数据库系统有三个级别的数据抽象:1)视图级抽象2)概念级抽象3)物理级抽象数据库系统根据数据抽象分为三种模式:1)外模式(视图模式)2)概念模式3)内模式(物理模式)范式理论第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。第二范式(2NF):数据库表中所有非关键字段都完全依赖于任意一组候选关键字。第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。E-R图在E-R模型中,使用方框表示[实体],使用菱形表示[联系],使用椭圆表示[属性].关联种类:1对1、1对多、多对多SQLServer2000的主版本号?如何查看?主版本号8.0SELECT@@VERSIONexecxp_msverSQLServer物理数据库构架页和扩展盘区页在Microsoft®SQLServer™中,数据存储的基本单位是页。在SQLServer2000中,页的大小是8KB。这意味着SQLServer2000数据库每兆字节有128页。每页的开始部分是96字节的页首,用于存储系统信息,如页的类型、页的可用空间量、拥有页的对象的对象ID等。在SQLServer中,行不能跨页。在SQLServer2000中,一行内最多包含的数据量是8060字节,不包括text、ntext和image数据。扩展盘区是一种基本单元,可将其中的空间分配给表和索引。一个扩展盘区是8个邻接的页(或64KB)。这意味着SQLServer2000数据库每兆字节有16个扩展盘区。物理数据库文件和文件组Microsoft®SQLServer™2000将数据库映射到一组操作系统文件上。数据和日志信息绝不混合在同一个文件中,而且个别文件只由一个数据库使用。SQLServer2000数据库有三种类型的文件:主要数据文件主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是.mdf。次要数据文件次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是.ndf。日志文件日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是.ldf。SQLServer2000不强制使用.mdf、.ndf和.ldf文件扩展名,但建议使用这些扩展名以帮助标识文件的用途。数据库文件组出于分配和管理目的,可以将数据库文件分成不同的文件组。一些系统可以通过控制在特定磁盘驱动器上放置的数据和索引来提高自身的性能。文件组可以对此进程提供帮助。系统管理员可以为每个磁盘驱动器创建文件组,然后将特定的表、索引、或表中的text、ntext或image数据指派给特定的文件组。有两种类型的文件组:主要文件组主文件组包含主要数据文件和任何没有明确指派给其它文件组的其它文件。系统表的所有页均分配在主文件组中。用户定义文件组用户定义文件组是在CREATEDATABASE或ALTERDATABASE语句中,使用FILEGROUP关键字指定的文件组。SQLServer2000常见的版本SQLServer版本或组件、操作系统要求:企业版MicrosoftWindowsNTServer4.0、MicrosoftWindowsNTServer4.0企业版、Windows2000Server、Windows2000AdvancedServer和Windows2000DataCenterServer。注意,SQLServer2000的某些功能要求MicrosoftWindows2000Server(任何版本)。标准版MicrosoftWindowsNTServer4.0、Windows2000Server、MicrosoftWindowsNTServer企业版、Windows2000AdvancedServer和Windows2000DataCenterServer。个人版MicrosoftWindowsMe、Windows98、WindowsNTWorkstation4.0、Windows2000Professional、MicrosoftWindowsNTServer4.0、Windows2000Server和所有更高级的Windows操作系统。开发版MicrosoftWindowsNTWorkstation4.0、Windows2000Professional和所有其它WindowsNT和Windows2000操作系统。系统数据库和数据Microsoft®SQLServer™2000系统有四种系统数据库:master数据库master数据库记录SQLServer系统的所有系统级别信息。它记录所有的登录帐户和系统配置设置。master数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置。master数据库记录SQLServer的初始化信息,它始终有一个可用的最新master数据库备份。tempdb数据库tempdb数据库保存所有的临时表和临时存储过程。它还满足任何其它的临时存储要求,例如存储SQLServer生成的工作表。tempdb数据库是全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。tempdb数据库在SQLServer每次启动时都重新创建,因此该数据库在系统启动时总是干净的。model数据库model数据库用作在系统上创建的所有数据库的模板。当发出CREATEDATABASE语句时,新数据库的第一部分通过复制model数据库中的内容创建,剩余部分由空页填充。由于SQLServer每次启动时都要创建tempdb数据库,model数据库必须一直存在于SQLServer系统中。msdb数据库msdb数据库供SQLServer代理程序调度警报和作业以及记录操作员时使用。实例数据库Pubs和Northwind数据库是两个实例数据库,它们可以作为SQLServer的学习工具。系统表仅在master数据库中的系统表这些表存储服务器级系统信息。sysdatabasessyslogins……每个数据库中的系统表这些表为每个数据库存储数据库级系统信息。sysobjectssyscolumnssysmemberssysconstraintssysdependssysfilegroupssysfilessystypessysuserssysindexesSQLServer2000的工具和实用程序有?企业管理器查询分析器事件探查器客户端网络实用工具在IIS中配置SQLXML支持导入和导出数据服务管理器服务器网络实用工具联机丛书数据类型sql_variant(最高)datetimesmalldatetimefloatrealdecimalmoneysmallmoneybigintintsmallinttinyintbitntexttextimagetimestampuniqueidentifiernvarcharncharvarcharcharvarbinarybinary(最低)自定义数据类型sp_addtype创建用户定义的数据类型。语法sp_addtype[@typename=]type,[@phystype=]system_data_typesp_droptype从systypes删除用户定义的数据类型。语法sp_droptype[@typename=]'type'标识符的种类标识符有两类:常规标识符符合标识符的格式规则。在Transact-SQL语句中使用常规标识符时不用将其分隔。分隔标识符没有格式要求。包含在双引号()或者方括号([])内。符合标识符格式规则的标识符可以分隔,也可以不分隔。在Transact-SQL语句中,对不符合所有标识符规则的标识符必须进行分隔。SELECT*FROM[MyTable]--Identifiercontainsaspaceandusesareservedkeyword.WHERE[order]=10--Identifierisareservedkeyword.常规标识符和分隔标识符包含的字符数必须在1到128之间。对于本地临时表,标识符最多可以有116个字符。常规标识符规则常规标识符的格式规则取决于数据库的兼容级别,兼容级别可以用sp_dbcmptlevel来设置。有关更多信息,请参见sp_dbcmptlevel。当兼容级别为80时,规则是:第一个字符必须是下列字符之一:Unicode标准2.0所定义的字母。包括拉丁字母a-z和A-Z,以及来自其它语言的字母。下划线(_)、at符号(@)或者数字符号(#)。后续字符可以是:Unicode标准2.0所定义的字母。来自基本拉丁字母或其它国家/地区脚本的十进制数字。at符号、美元符号($)、数字符号或下划线。标识符不能是Transact-SQL的保留字。SQLServer保留其保留字的大写和小写形式。不允许嵌入空格或其它特殊字符。数据库管理CREATEDATABASE创建一个新数据库及存储该数据库的文件,或从先前创建的数据库的文件中附加数据库。语法CREATEDATABASEdatabase_name[ON[filespec[,...n]][,filegroup[,...n]]][LOGON{filespec[,...n]}][COLLATEcollation_name][FORLOAD|FORATTACH]filespec::=[PRIMARY]([NAME=logical_file_name,]FILENAME='os_file_name'[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment])[,...n]filegroup::=FILEGROUPfilegroup_namefilespec[,...n]DROPDATABASE从Microsoft®SQLServer™删除一个或多个数据库。删除数据库将删除数据库所使用的数据库文件和磁盘文件。语法DROPDATABASEdatabase_name[,...n]sp_helpdbsp_renamedbsp_attach_dbsp_detach_db数据完整性对表进行计划有两个重要步骤:标识列的有效值和确定如何强制列中的数据完整性。数据完整性有四种类型:实体完整性域完整性引用完整性用户定义完整性实体完整性实体完整性将行定义为特定表的唯一实体。实体完整性强制表的标识符列或主键的完整性(通过索引、UNIQUE约束、PRIMARYKEY约束或IDENTITY属性)。域完整性域完整性是指给定列的输入有效性。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过CHECK约束和规则)或可能值的范围(通过FOREIGNKEY约束、CHECK约束、DEFAULT定义、NOTNULL定义和规则)。引用完整性在输入或删除记录时,引用完整性保持表之间已定义的关系。在Microsoft®SQLServer™2000中,引用完整性基于外键与主键之间或外键与唯一键之间的关系(通过FOREIGNKEY和CHECK约束)。引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。用户定义完整性用户定义完整性使您得以定义不属于其它任何完整性分类的特定业务规则。所有的完整性类型都支持用户定义完整性(CREATETABLE中的所有列级和表级约束、存储过程和触发器)。表管理CREATETABLE创建新表。语法CREATETAB