数据库基本概念:区、页、行
区:SQL Server中管理空间的基本单位。一个区大小为64KB,是八个物理上连续的页。SQL Server中每MB有16个区。一旦一个区被存储满,SQL Server将分配一个区给下一条数据。页:SQL Server中存储数据的基本单位,是区的分配单元。一个页大小为8
一.概述
说到B-tree组织,就是指索引,它可以提供了对数据的快速访问。索引使数据以一种特定的方式组织起来,使查询操作具有最佳性能。当数据表量变得越来越大,索引就变得十分明显,可以利用索引查找快速满足条件的数据行。某些情况还可以利用索引帮助对数据进行排序,组合,分组,筛选。
数据库范式理论
范式理论是为了建立冗余较小结构合理的数据库所遵循的规则。关系数据库中的关系必须满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF、第四范式(4NF)、第五范式(5NF)
第一范式
对象的任意属性不能被拆分,每个属性有且仅有一
摘自:http://www.maomao365.com/?p=6612
摘要:下文介绍sql server中,sql脚本避免出现除零错误的方法分享
在各种业务系统开发中,通常会遇到除零的错误,下文分享了两种处理方法:方法1: case when end
&
说明
应用程序通过未加密的通道与数据库服务器通信, 这可能会造成重大的安全风险。在这种情况下, 攻击者可以修改用户输入的数据, 甚至对数据库服务器执行任意 SQL 命令。
例如,当您使用以下连接字符串时,就可能存在这种风险:
<connectionSt
在TSQL脚本中,也能实现递归查询,SQL Server提供CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询,本文详细介绍CTE递归调用的特性和使用示例,递归查询主要用于层次结构的查询,从叶级(Leaf Level)向顶层(Root Level)查询,
SQL Server 2005(Microsoft SQL Server 2005 - 9.00.5000.00)下的一个作业执行一个存储过程,存储过程中动态SQL语句使用链接服务器(Linked Servers),从另外一台SQL Server服务器获取数据。但是执行时报“Access to th
一、查询当前部门下的所有子部门
WITH dept
AS ( SELECT *
FROM dbo.deptTab --部门表
WHERE pid = @id
UNIO
SQL 语句主要可以划分为以下 3 个类别。
DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter等。
就是对数据库内部的
SQL 事务隔离级别
概述
隔离级别用于决定如果控制并发用户如何读写数据的操作,同时对性能也有一定的影响作用。
步骤
事务隔离级别通过影响读操作来间接地影响写操作;可以在回话级别上设置事务隔离级别也可以在查询(表级别)级别上设置事务隔离级别。事务隔离
--数据库表名及字段名都无数据字典,现在补充上。
--暂时想到如下笨办法:
--思路,分两步,一是填写表的字典。二是填写表中字段的字典。
--将表名导出到Table_Description
--将列名导出到Column_Description
--然后填写上Description,最后调用存
Microsoft SQL Server(以下简称SQL Server)作为一种中小型数据库管理系统,已经得到了广泛的应用,该系统更强调由系统来管理锁。在用户有SQL请求时,系统分析请求,自动在满足锁定条件和系统性能之间为数据库加上适当的锁,同时系统在运行期间常常自动进行优化处理,实行动态加锁。
最近搭建了一套SQLServer2016 AlwaysOn AG。
(后记:经实际测试,使用SQLServer2012 也同样可以在Winserver2016上搭建基于工作组的AlwaysOn AG,其实基于工作组的AG仅仅只是WindowsServer2016的WSFC新功能。)
笔者是采用修改各
开始:
在testing中,为了模拟orders,有个要求给数据库dba,如何通过后台数据库脚本快速批量生成orders。
分析
站在数据库角度,批量生成orders,也就是批量生成表中的行数据。
sql中,通过cross join
一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得
在SQL Server中,如何用SQL去实现得到一批字符串的全部组合呢?这个是同事在实际需求当中遇到的一个问题,他的具体需求如下所示: 传入参数格式为'1,2,3,224,15,6' 'A,BC,GHT,TTY,B,E' 输出的内容为分割后字符串的所有非排列组合 !-阶乘,如!=5×
一、以一行数据的形式,显示本年的12月的数据,本示例以2017年为例,根据CreateDate字段判断,计算总和,查询语句如下:
select sum(case when datepart(month,CreateDate)=1 then 1 else 0 end) as '1月',
SQLServer数据库的基础知识的回顾:
1)主数据文件:*.mdf
2)次要数据文件:*.ndf
3)日志文件:*.ldf
每个数据库至少要包含两个文件:一个数据文件和一个日志文件
如何查看SQL Server的帮助==================快捷键F1
一
本文属于一篇内部规范文档,整理的初衷是为了规范、统一集团的Windows服务器(仅仅SQL Server数据库服务器)防火墙设置,仅仅供内部其它同事设置Windows防火墙时作为参考的文档资料。如有不足,敬请指正。后续将不断完善、整理该文档。文档里面部分内容直接摘抄自MSDN,敬请知晓!
1、查询指定时间区间的工作日
这个主要难点是法定节假日,国家的法定节假日每年都不一样,还涉及到调休,所以我们设计一个假日表。主要字段有年份,类型(是否调休),假期日期。如下:
CREATE TABLE [dbo].[Holidays](
[ID] [int] IDENTITY(1,1) NOT