SQL Server基础知识概念要点详细讲解
基础概念:
SQL语言中,between and表示包括两边参数。%取余,/取商
模式:在数据库三级模式结构中,对数据库中全部的数据逻辑结构、特征进行描述。
内模式:最接近于物理存储设备一级的结构,是对数据库物理存储方式的描述。
外模式:模式的逻辑子集通常称为外模式。对数据库用户能够看得见和使用的局部数据的逻辑结构和特征的描述。
(1)要保证数据库的数据逻辑独立性:需要修改模式与外模式的映射。
数据操作语言DML:增删改查
数据控制语言DCL:
数据模型的三要素:数据结构、数据操作、数据的约束条件。数据模型是现实世界数据特征的抽象。
数据库的完整性是指数据的正确性和相容性;数据库的核心是数据库管理系统DBMS(DB+User);数据库系统的数据独立性是指物理独立性、逻辑独立性。数据库系统达到了数据独立性是因为采用了三级模式结构。在数据库三级模式间引入二级映像的主要作用是提高数据与程序的独立性。
1、网状模型数据库:用有向图表示实体和实体之间的联系的数据结构模型称为网状数据模型。 可以存在两个或者多个节点(即一个以上的结点)没有父节点、允许单个节点存在多于一个父节点;
2、层次模型数据库:数据库中有且仅有一个记录型无双亲,称为根节点。其他记录型有且仅有一个双亲。在层次模型中从一个节点到其双亲的映射是惟一的,所以对每一个记录型(除根节点外)只需要指出它的双亲,就可以表示出层次模型的整体结构。
3、关系模型数据库:网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这些问题。关系数据库理论出现于60年代末到70年代初。关系数据模型提供了关系操作的特点和功能要求,但不对DBMS的语言给出具体的语法要求。对关系数据库的操作是高度非过程化的,用户不需要指出特殊的存取路径,路径的选择由DBMS的优化机制来完成。 1970年,IBM的研究员E.F.Codd博士发表《大型共享数据银行的关系模型》一文提出了关系模型的概念,论述了范式理论和衡量关系系统的12条标准,如定义了某些关系代数运算,研究了数据的函数相关,定义了关系的第三范式,从而开创了数据库的关系方法和数据规范化理论的研究,他为此获得了1981年的图灵奖。
3.1同一个关系模型的任意两个元祖值不能全同。
1、增
2、删
3、改
查询毕业学校与清华有关的记录:where 毕业学校 like '%清华%'
若需要得到glass表中所有玻璃杯和color表中所有颜色的组合信息:select * from glass crossjoin color
select stuff (‘he rld’,3,1,'llo wo') 先将前边的字符串第三位去掉一位,然后将后边的字符串插到前边字符串中,输出helloworld
select left('climax',3) #从左边开始取出前三位,输出cli
5、启动SQLServer失败,根据错误信息判断错误故障
(1)错误1096,由于登陆失败而无法启动服务:账户密码被更改,但SQLServer服务的密码信息并未更新。
(2)SQLServer无法初始化VIA支持库:VIA支持库不长存在或已损坏
(3)日志错误信息“FCB::RemoveAlternateStreams:创建或打开文件时出现操作系统错误[null]”:SQLServer数据文件被压缩或损坏
(4)Windows不能在本地启动SQLServer Active Directory Helper:客户端无法连接服务器
(5)C:\……ldf文件已压缩,但未驻留在只读取数据库或文件组中:SQLServer数据文件被压缩。常用修复方法是设置SQLServer文件属性,对其进行解压缩。
(6)SQLServer不存在或访问被拒绝:可能有访问SQLServer实例名称或IP地址拼写错误(服务端访问配置有误)、客户端未启动SQLServer服务、客户端与服务端之间网络有问题。
(7)提示连接超时:绝不要卸载重装
知识点实例总结:
1、bcp 实用工具可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容量复制数据。 使用 bcp 实用工具可以将大量新行导入 SQL Server 表,或将表数据导出到数据文件。
下表源自博客https://www.cnblogs.com/xwdreamer/archive/2012/08/22/2651180.html
2、SQL Server2005支持多种数据库恢复模式,如简单恢复、批日志恢复、完全恢复,不包含增量恢复。
简单恢复:数据恢复性能最好的模式。仅使用数据库备份将数据恢复到上一次备份的时刻模式;仅使用了数据库备份或差异备份,而不涉及事物日志备份的模式。
批日志恢复:
完全恢复:通过使用数据库备份和事物日志备份将数据恢复到发生失败的时刻,从而不造成数据丢失的模式。
3、启动SQLServer数据库服务时,可以设定一些启动选项,
参照https://msdn.microsoft.com/zh-cn/library/ms190737(v=sql.105).aspx 如
-n
不要使用 Windows 应用程序日志来记录 SQL Server 事件。如果使用 -n 启动 SQL Server 实例,则建议您同时使用 -e 启动选项。否则,将不会记录 SQL Server 事件。
-c
缩短从命令提示符启动 SQL Server 时的启动时间。通常,SQL Server 数据库引擎通过调用服务控制管理器作为服务启动。由于从命令提示符启动时,SQL Server 数据库引擎不作为服务启动,因此请使用 -c 跳过此步骤。
-m
在单用户模式下启动 SQL Server 实例。在单用户模式下启动 SQL Server 实例时,只能连接一个用户,并且不启动 CHECKPOINT 进程。CHECKPOINT 保证将已完成的事务定期从磁盘缓存写入数据库设备。
-s
用于启动 SQL Server 的命名实例。如果 -s 参数未设置,则将尝试启动默认实例。必须在命令提示符下切换到实例相应的 BINN 目录,然后才能启动 sqlservr.exe
-e
error_log_path,错误日志文件的完全限定路径
-l
master_log_path,master 数据库日志文件的完全限定路径
5、注册一个SQLServer数据库服务时,需要指定其各方面的属性包括所要连接的数据库服务器名称、网络协议。
6、关于数据库用户与服务器角色、数据库角色的关系:如果数据库用户User1是固定服务器角色sysadmin(若db_owner)的成员,并创建表T1,则T1属于dbo,并dbo.T1(则User1.T1)进行限定;
7、索引是为了加速对数据表中数据行的检索而创建的一种分散的存储结构。在select语句中使用group by 字句(或创建外键约束)时,SQLServer不会自动创建索引;但是创建unique约束(主键约束)时,SQLServer会自动创建索引。