当前位置:  数据库>sqlserver
本页文章导读:
    ▪MSsql数据库修改数据类型Float到decimal的问题处理      由于早期建立数据库的时候不太在意也不太懂数据精确度的问题,所以对数值的存储都是用的float,发现的时候悔之晚矣,也就一直没改,今天又看到了个5.123232313E-14我下定决心。。。改decimal.........
    ▪移动Sql Server数据库的脚本      前段时间做过这么一件事情,把原本放在c盘的所有数据库(除了sql server系统文件外)文件Move到D盘,主要是为了方便后续管理以及减少磁盘I/O阻塞(C,D是2个独立磁盘)。脚本很简单,在此只.........
    ▪SQL数据库 - (一)绪论      一、数据库系统概述  D(Data)数据  DB(DataBase)数据库  DBMS(DataBase Management System)数据库管理系统  DBS(DataBase Sysem)数据库系统二、数据库的发展  1.人工管理阶段  2.文件系统阶段 .........

[1]MSsql数据库修改数据类型Float到decimal的问题处理
    来源:    发布时间: 2013-10-15

由于早期建立数据库的时候不太在意也不太懂数据精确度的问题,所以对数值的存储都是用的float,发现的时候悔之晚矣,也就一直没改,今天又看到了个5.123232313E-14我下定决心。。。改decimal吧,结果发现没想象的那么简单,报错如下

 

“MBom”表
- 无法修改表。
The query has been canceled because the estimated cost of this query (598) exceeds the configured threshold of 300. Contact the system administrator.

这个意思貌似是查询的占用量超过了规定的最大值,杂搞?Bing一下。。。

在修改后的Designer上右键,选这个,把内容考出来,新建一个查询

在最上面加这么一句

SET QUERY_GOVERNOR_COST_LIMIT 0;

执行。ok!

本文链接


    
[2]移动Sql Server数据库的脚本
    来源:    发布时间: 2013-10-15

前段时间做过这么一件事情,把原本放在c盘的所有数据库(除了sql server系统文件外)文件Move到D盘,主要是为了方便后续管理以及减少磁盘I/O阻塞(C,D是2个独立磁盘)。

脚本很简单,在此只是记录下来,以免以后忘记,也方便复用:

这个脚本只有2个参数需要输入,即:目标数据库名字和目标目录

 

USE master
GO

DECLARE
@DBName sysname,
@DestPath varchar(256)
DECLARE @DB table(
name sysname,
physical_name sysname)


BEGIN TRY

SELECT
@DBName = 'TargetDatabaseName', --input database name
@DestPath = 'D:\SqlData\' --input destination path


-- kill database processes
DECLARE @SPID varchar(20)
DECLARE curProcess CURSOR FOR

SELECT spid
FROM sys.sysprocesses
WHERE DB_NAME(dbid) = @DBName

OPEN curProcess
FETCH NEXT FROM curProcess INTO @SPID
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC('KILL ' + @SPID)
FETCH NEXT FROM curProcess
END
CLOSE curProcess
DEALLOCATE curProcess

-- query physical name
INSERT @DB(
name,
physical_name)
SELECT
A.name,
A.physical_name
FROM sys.master_files A
INNER JOIN sys.databases B
ON A.database_id = B.database_id
AND B.name = @DBName
WHERE A.type <=1

--set offline
EXEC('ALTER DATABASE ' + @DBName + ' SET OFFLINE')

--move to dest path
DECLARE
@login_name sysname,
@physical_name sysname,
@temp_name varchar(256)
DECLARE curMove CURSOR FOR
SELECT
name,
physical_name
FROM @DB
OPEN curMove
FETCH NEXT FROM curMove INTO @login_name,@physical_name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @temp_name = RIGHT(@physical_name,CHARINDEX('\',REVERSE(@physical_name)) - 1)
EXEC('exec xp_cmdshell ''move "' + @physical_name + '" "' + @DestPath + '"''')
EXEC('ALTER DATABASE ' + @DBName + ' MODIFY FILE ( NAME = ' + @login_name
+ ', FILENAME = ''' + @DestPath + @temp_name + ''')')

    
[3]SQL数据库 - (一)绪论
    来源:    发布时间: 2013-10-15

一、数据库系统概述

  D(Data)数据

  DB(DataBase)数据库

  DBMS(DataBase Management System)数据库管理系统

  DBS(DataBase Sysem)数据库系统

二、数据库的发展

  1.人工管理阶段

  2.文件系统阶段

  3.数据库系统阶段

三、数据库系统的特点

  1.数据结构化

  2.数据的共享性高,冗余度低,易扩充

  3.数据独立性高

    物理独立性:用户的应用程序与储存在磁盘上的数据库中的数据时相互独立的。

    逻辑独立性:用户的应用程序与数据库的整体逻辑结构是独立的。

  4.数据由DBMS统一管理和控制

四、数据模型

  数据(data)是描述事物的符号记录。模型(Model)是现实世界的抽象。数据模型(Data Model)是数据特征的抽象,是数据库管理的教学形式框架。数据库系统中用以提供信息表示和操作手段的形式构架。(百度百科)

  组成要素:

    1.数据结构(层次结构、网状结构、关系结构、面向对象结构)

    关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。目前主流的关系数据库有oracle、SQL、access、db2、sqlserver,sybase等。

    2.数据操作(查、插、删、改等)

    3.数据完整性约束

五、概念模型

  概念模型是对真实世界中问题域内的事物的描述,不是对软件设计的描述。概念的描述包括:记号、内涵、外延,其中记号和内涵(视图)是其最具实际意义的。

  信息世界中的基本概念:

  1.实体——客观存在可以相互识别的事物

  2.属性——实体所具有的某一特性

  3.码——唯一标识实体的属性集

  4.域——属性的取值范围,是具有相同数据类型的数据集合

  5.实体型——具有想同属性的实体必然有相同的特征和属性

    例如:教师(教师号, 姓名, 年龄, 职称)

  6.实体集——相同实体的集合

  7.联系——事物内部或事物之间的关联

    联系的种类:

      1.一对一

      2.一对多

      3.多对多

六、概念模型的表示(E-R图)

  E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

 

  E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩

形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接

起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。

 

构图要素

实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三丰、
 
学生李寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。
 
属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、
 
都是属性。如果是多值属性的话,再椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。
 
联系(Relationship):联系也称关系,信息世界中反映实体内部或实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体
 
集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。比如老师给学生
 
授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。[2]
 
联系可分为以下 3 种类型:
 
(1) 一对一联系(1 ∶1)
 
例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。
 
(2) 一对多联系(1 ∶N)
 
例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教
 
(3) 多对多联系(M ∶N)
 
例如,图1表示学生与课程间的联系(“学 ”)是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。联系也可能有属性。例如,学生“ 学” 某门课程所取得的成
 
绩,既不是学生的属性也不是课程的属性。由于“ 成绩” 既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“ 学”的属性。
 
作图步骤:

⑴确定所有的实体集合
 
⑵选择实体集应包含的属性
 
⑶确定实体集之间的联系
 
⑷确定实体集的关键字,用下划线在属性上表明关键字的属性组合(即确定PK)
 
⑸确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型
 
七、关系模型
 
  关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操
 
作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系,读者可以从上下文中加以区别。
定义

  关系模型:用二维表的形式表示

    
最新技术文章:
 




特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3