资源描述:
《SQLServer数据库学习笔记.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据库一、数据库基础知识1、发展阶段萌芽期(文件系统)à初级阶段(层次模型和网状模型)主要代表为IBM公司的IMS(信息管理系统)à中级阶段(关系型数据库)主要代表为甲骨文公司Oracle,微软SQLServer和IBM的DB2à高级阶段(关系对象型数据库)2、数据模型层次模型:结构型数据库主要数据模型,代表数据库为IMS网状模型:构成网状数据库的主要数据模型关系模型:采用二维表结构采用关系模型组织数据查询效率有时不高面向对象模型:3、数据库系统结构(1)用户级数据库:外模式(2)概念机数据库:模式(3)乌力吉数据库:内模式,最接近数据的物理
2、存储与组织级别4、数据库三模式(1)外模式:模式的子集,应用程序都是和外模式打交道(2)模式:(3)内模式:只有一个内模式5、数据库的二级映像(1)外模式/模式映像:保障物理独立性(2)模式/内模式映像:保证逻辑独立性6、关系模型完整性约束实体完整性(所有主属性都不能取空值);参照完整性(多个表之间);用户自定义的完整性7、SQL:(结构化查询语言)T-SQL:SQLServer,包括数据定义语言,数据操作语言,数据查询语言,数据控制语言PL_SQL:Oracle,声明,执行体开始,异常处理,执行体结束。二、SQLServer数据库基础1、系
3、统数据库:包括Resource数据库(只读数据库)、master数据库、msdb数据库、tempdb数据库、model数据库(数据库模板);系统数据库存储在隐藏的系统表中2、用户数据库:数据库的存储机构包括逻辑存储结构和物理存储结构SQLServer数据文件类型:主数据文件(mdf文件,只能有一个)、辅助数据文件(ndf,可以没有,也可以有多个)文件、日志文件(ldf,记录对数据库记录的操作,至少有一个,可以有多个);数据存储的基本单位是“页”,一个页的大小为8Kb,一个区有8个页。(1)创建数据库名称遵循规则:第一个字符必须是字母或“_”“
4、@”“#”;数据库名称不能是Transaction-SQL的保留字;不允许嵌入空格或其他特殊字符。USEmasterifexists(select*fromsysdatabaseswherename='mytest')dropdatabasemytestcreatedatabasemytestonprimary(name='mytest',filename='D:ProgramFilesSQLServerDataSQLServerDataDatamytest.mdf',size=5MB,maxsize=100MB,filegrowt
5、h=15%),(name='mytest1',filename='D:ProgramFilesSQLServerDataSQLServerDataDatamytest1.mdf',size=5MB,maxsize=100MB,filegrowth=15%)logon(name='mytest_log',filename='D:ProgramFilesSQLServerDataSQLServerDataDatamytest_log.ldf',size=2MB,filegrowth=1MB)Go(2)删除数据库DROPDATA
6、BASE数据库名(3)收缩数据库手动收缩和自动收缩3、数据表数据完整性:实体完整性约束,表中不能存在相同的数据项;域完整性,给定列的输入内容具有有效性;引用完整性,保存表之间的定义关系;自定义完整性主键:一个表只能有一个主键,可以没有主键,选择时,要确保最少性和稳定性外键:确保子表中的数据对应主表中的主键或者唯一键常用数据类型:数字类型:int,float,decimal(必须制定范围和精度)文本类型:char,varchar,nvarchar,textBit数据类型:bool日期时间类型:datatime货币型数据:money(1)创建数据
7、表(2)删除数据表USETrainingBasegoifexists(select*fromsysobjectswherename='Trainee')droptableTraineecreatetableTrainee(TraineeNointNOTNULL,TraineeNamenvarchar(50)notnull,Sexbitnotnull,GradeIDintnotnull,Phonenvarchar(50)null,Addressnvarchar(255)null,BornDatedatetimenotnull,Emailnvar
8、char(50)null,IdentityCardvarchar(18)notnull)(3)创建删除约束主键约束:主键值必须唯一ALTERTABLETrainee