数据库图形化管理工具创建数据库步骤,    

作者: www.9159.com  发布:2019-08-31

一、数据库定义

数据库(Database)是根据数据结构来公司、存款和储蓄和管制数据的仓库。数据库的操作分为三种格局:一种是一直在数据库管理工科具图形化界面举行操作;一种是采纳数据库脚本进行操作,数据库脚本能够一向在数据库管理工科具中操作,也能够在dos命令窗口中操作。

数码表定义

数据表(或称表)是数据库最关键的组成都部队分之一,数据库中以表为集团单位存款和储蓄数据,数据库只是一个框架,数据表才是其实质内容。数据库管理工具中能够显示数据库中的全部数据表,数据表是数据库中几个特别主要的靶子,是别的对象的底蕴。

 第一步、创造文件和文件组

一:对称加密 

     原始明文---密钥---加密数据---密钥---原始明文

     速度快,通过算法将公开混淆,占用系统能源少

二、数据库创立

办法一:数据库图形化管理工科具创造数据库步骤:右键点击数据库-》点击新建数据库-》输入数据库名称,可自定义数据库全部者(设置什么样人能够选取数据库)、逻辑名称、起始大小(数据库初步化大小)、自增进大小(数据库新添多少的时候以每一次多大存款和储蓄量增加)、路线(数据库数据文件路线,关系到后来的数据库备份,迁移,还原等操作)、文件名(数据库的文件名称)、日志等质量,左上角的挑三拣四和不奇怪能够行使系统默许的-》点击明确就能够创造数据库

www.9159.com 1

www.9159.com 2

措施二:数据库脚本创造数据库步骤:编写脚本-》在数据库管理工科具中实行脚本-》刷新数据库就可以彰显;

 

 1 --创建数据库
 2 create database testss
 3 on 
 4 (
 5     name='testss',
 6     filename='D:SqlTestblogtestss.mdf',
 7     size=10240kb,
 8     maxsize=102400kb,
 9     filegrowth=1024kb
10 )
11 log on
12 (
13     name='testlog',
14     filename='D:SqlTestblogtestlog.ldf',
15     size=10240kb,
16     maxsize=102400kb,
17     filegrowth=1024kb
18 )
19 go

 

 

开创结果示举例下:

www.9159.com 3

创办数据表

办法一:张开数据库管理工科具-》登陆-》选用数据库-》选取表-》右键点击,选拔新建表-》在侧面视图中输入列名、数据类型、是或不是可空、在列属性中装置须要的品质-》点击保存(或ctrl s)-》保存成功,刷新就可以彰显

www.9159.com 4

www.9159.com 5

主意二:使用T-SQL脚本新建表

 1 --数据库声明
 2 use testss
 3 --建表语法声明
 4 create table test1
 5 (
 6 --字段声明
 7 id int identity(1,1) not null,
 8 name nvarchar(50) null,
 9 sex nvarchar(50) null,
10 age nvarchar(50) null,
11 classid int,
12 primary key clustered(id asc) with(ignore_dup_key=off) on [primary]    --主键索引声明
13 )on [primary]
14 
15 --字段注释声明
16 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'id主键' , @level0type=N'SCHEMA',
17 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'id';
18 
19 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' , @level0type=N'SCHEMA',
20 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'name';
21 
22 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' , @level0type=N'SCHEMA',
23 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'sex';
24 
25 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年龄' , @level0type=N'SCHEMA',
26 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'age';
27 
28 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级id' , @level0type=N'SCHEMA',
29 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'classid';
30 
31 go

 示例结果如下:www.9159.com 6

-- 准备干活,模拟数据。

 

insert into

test

values

('test','2014-01-01') , 

('test','2014-02-01') , 

('test','2014-03-01') , 

('test','2014-04-01') , 

('test','2014-05-01') , 

('test','2014-06-01') , 

('test','2014-07-01') , 

('test','2014-08-01') , 

('test','2014-09-01') , 

('test','2014-10-01') 

 

select *  from User_DB.dbo.test  

 

 

二:非对称加密

     加密解密速度慢,较高的系统财富占用

 

三、数据库删除

措施一:直接在数据库管理工科具中右键-》采取删除

www.9159.com 7

 

方法二:在数据库管理工科具中多少脚本:drop database 数据库名

去除数据表

方法一:展开数据库管理工科具-》登陆-》选用数据库-》选用表-》右键点击,采用删除-》点击弹出框中的分明删除-》刷新数据库

www.9159.com 8www.9159.com 9

艺术二:使用T-SQL脚本删除:drop table test2;

www.9159.com 10

## -- 1、添Gavin件组

 

alter database User_DB add filegroup know1 

alter database User_DB add filegroup know2

alter database User_DB add filegroup know3  

 

三:混合数据加密

     加密进度:随机生成对称密钥,使用公钥加密对称密钥。

     解密进程:用私钥解开被加密的相反相成密钥,使用对称密钥解密数据

 

四、数据库修改

办法一:选中数据库-》右键-》采用重命名-》输入数据库新名称

www.9159.com 11

格局二:在数据库处理工科具中输入脚本修改:exec sp_renamedb 'testss','test1'或者alter database test1 modify name=test2 

www.9159.com 12

修改数据表

情势一:展开数据库管理工科具-》登录-》选取数据库-》选取表-》右键点击,选取重命名-》重新输入表名-》按enter键明确-》刷新可查阅新表名

 www.9159.com 13

艺术二:使用T-SQL脚本修改表名:exec sp_rename 'test1','test2';

www.9159.com 14

## -- 2、创造数据库文件到文件组

 

alter database User_DB add file    

(name=N'know1',filename=N'G:DBfenquknow1.ndf',size=5Mb,filegrowth=5mb, maxsize=1gb)

to filegroup know1

 

 

alter database User_DB add file    

(name=N'know2',filename=N'G:DBfenquknow2.ndf',size=5Mb,filegrowth=5mb, maxsize=1gb)

to filegroup know2

 

 

alter database User_DB add file    

(name=N'know3',filename=N'G:DBfenquknow3.ndf',size=5Mb,filegrowth=5mb, maxsize=1gb)

to filegroup know3  

 

## --3、右键到要分区的表>> 存款和储蓄--- >> 成立分区--- >>展现向导视图--- >> 下一步--- >> 下一步

 

四:备份,还key原劳动主密钥 (sqlserver服务器主密钥)

   备份密钥

   Backup service master key to file =’c:xx.bak’;

   Encryption  by password = ‘password’;

   实例backup service master key to file = 'D:work pathdbFiledata.bak' 

    encryption by password = 'test'

   还原密钥

   Restore service master key from file =’c:xx.bak’

   Decryption by password=’password’;

五、查数据库查看

格局一:在数据库管理工科具中当选数据库-》右键属性-》查看数据库相关配置信息

www.9159.com 15

www.9159.com 16

措施二:在数据库管理工科具中输入数据库脚本查看,一下点数二种常用的数据库查看音信

--使用目录视图查看数据库消息
--使用sys.database_files查看有关数据库文件的信息
select * from sys.database_files;
--使用sys.filegroups查看有关数据库组的新闻
select * from sys.filegroups;
--使用sys.master_files 查看数据库文件的大旨音讯和情景音信
select * from sys.master_files;
--使用sys.databases 数据库和文件目录视图查看有关数据库的着力新闻
select * from sys.databases where name='testss';

www.9159.com 17

 

--使用函数查看数据状态
use testss
select databasepropertyex('test2','Status') as 'test数据库状态'

www.9159.com 18

查看数据表

--查询数据库下有所的表
--xtype='U'查询客户表
select name from sysobjects where xtype='U'
-- xtype='S'查询系统表
select name from sysobjects where xtype='S'

--查看test1表的有所音信
exec sp_help test1;

--查询test1表中存有的列
select * from syscolumns where id=Object_Id('test1')

--查看test1表中具有列数据
select * from test1;

# 第二步、实行生成的创制分区sql

 

USE [User_DB]

GO

BEGIN TRANSACTION

五:创设数据库主密钥(要求手动创立数据库主密钥)

    Create master key encryption by password = ‘password’

create master key encryption by password = 'databaseTest'    

备份数据库密钥

backup master key to file = 'D:work pathdbFiledatabase.bak' encryption by password = 'databaseTest'

 

 

六、数据库优短处

优点:易用性、适合遍布式组织的可伸缩性、用于决策辅助的数据酒店作用、与广大其余服务器软件紧凑关联的集成性、特出的性能与价格之间的比例等。

症结:1开放性。只可以运营在微软的windows平台,未有丝毫的开放性可言。

      2可伸缩性,并行性。并行施行和水保模型并不成熟,很难管理日益扩大的顾客数和数据卷,伸缩性有限。
      3质量稳固。SQLServer当客商连接多时品质会变的比非常糟糕,而且缺乏稳固。
      4使用危机。SQLServer完全重写的代码,经历了旷日持久的测量检验,不断延迟,多数功力需时间来验证。并不要命男才女貌前期产品。使用必要冒一定风险。
      5客商端协助及采纳方式。只支持C/S方式。

## -- 1、成立分区函数

CREATE PARTITION FUNCTION [knowPartitionFunc](datetime) 

AS RANGE

LEFT FOR VALUES (N'2014-01-01T00:00:00', N'2014-02-01T00:00:00', N'2014-03-01T00:00:00')

 

六:目录视图中查阅数据库密钥音信

select * from sys.symmetric_keys

 

 

select * from sys.databases  --is_master_key_encrypted_by_server 1 表示使用服务主密钥对数据库主密钥举行加密

## -- 2、创造分区施工方案

CREATE PARTITION SCHEME [konwPartitionSolution]

 AS PARTITION [knowPartitionFunc] TO ([PRIMARY], [know1], [know2], [know3])

 

七:创设证书

 Create certificate cert_mycert;--创设证书

 Encryption by password=’’--成立证书密码

 with subject 标题

 

 成立证书时效性,必要仓库储存进程等措施手动验证

 Start_data=’’    expiry_date=’’

 

一声令下如下:

 

Create certificate myfirst_cert Encryption by password='myfirst_cert' with subject = 'myfirst_cert', start_date = '1/1/2010', expiry_date = '1/1/2015'

 

Create certificate test_cert Encryption by password='test_cert' with subject = 'test_cert', start_date = '1/1/2010', expiry_date = '1/1/2015'

询问证件

Select * from sys.certificates  

## -- 3、创建索引

CREATE CLUSTERED INDEX [ClusteredIndex_on_konwPartitionSolution_635706905441367386] 

ON [dbo].[test] 

(

    [time]

)WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF)

 ON [konwPartitionSolution]([time])

 

八:与证书相关的函数

Encyrptbycert(id,’cleartext’);

 

Cert_id(‘'myfirst_cert’)

 

## -- 4、删除索引

DROP INDEX

 [ClusteredIndex_on_konwPartitionSolution_635706905441367386]

  ON [dbo].[test] WITH ( ONLINE = OFF )

 

COMMIT TRANSACTION  

 

九:成立非对称密钥

利用sn.exe工具也得以创造

 

www.9159.com,Create asymmetric key asy_key1 With algorithm = rsa_2048 Encryption by password='asy_key1'

 

# 第三步、查看分区结果

## --查看分区表中,每一种非空分区存在的行数

 

select $partition.[knowPartitionFunc](time) as partitionNum,count(*) as recordCount

from test

group by  $partition.[knowPartitionFunc] (time)

 

 

 

## --查看分区数据

select $partition.[knowPartitionFunc](time) as partitionGroupId,*

from test 

 

 

十:创立对称密钥

   Create symmetric key sy_key1 With algorithm = aes_256 Encryption by password='sy_key1'

 

Create symmetric key sy_key1_test With algorithm = aes_256 Encryption by password='testPassword'

 

十一:查询密钥

1:展开密钥指令

open symmetric key sy_key1 decryption by password ='sy_key1'

 

询问密钥

select * from sys.openkeys

 

关门密钥

 close symmetric key sy_key1_test

 

十二:使用密钥加密数据例子 (加密列不要创设索引,无意义,並且考虑列长度会变长)

declare @oldContent varbinary(200); --定义原始变量

declare @newContent varbinary(200);--定义加密后的变量

set @oldContent = convert( varbinary(200),'那是测试数据');--给原本变量赋值

set @newContent = encryptbycert(cert_id('test_cert'),@oldContent)--通过证书加密数据 test_cert  证书名

select @newContent --加密查询

select convert(varchar(200),decryptbycert(cert_id('test_cert'),@newContent ,N'test_cert')) as [ts] --解密查询test_cert  证书名 N'test_cert'  证书密码

 

十三:表示例

create table usertest(id int primary key identity(20,1),username varbinary(20),usermoney int)

insert into usertest (username,usermoney) values('aaa',encryptbycert(cert_id('test_cert'),'200'))

insert into usertest (username,usermoney) values('bbb',encryptbycert(cert_id('test_cert'),'300') )

insert into usertest (username,usermoney) values('ccc',encryptbycert(cert_id('test_cert'),'400') )

insert into usertest (username,usermoney) values('ddd',encryptbycert(cert_id('test_cert'),'500') )

 

 

精确插入数据

insert into usertest (username,usermoney) values('aaa',encryptbykey(key_guid('sy_key1_test'),'200'))

insert into usertest (username,usermoney) values('bbb',encryptbykey(key_guid('sy_key1_test'),'300') )

insert into usertest (username,usermoney) values('ccc',encryptbykey(key_guid('sy_key1_test'),'400') )

insert into usertest (username,usermoney) values('ddd',encryptbykey(key_guid('sy_key1_test'),'500') )

select id,username,cast(decryptbykey(usermoney) as varchar(20)) as 'test' from usertest

 

透过验证器出席数据

增加少格局     Encryptbykey(key_guid(‘证书名字’),加密值,使用验证器,’验证器的值’)

insert into usertest (username,usermoney) values('aaa',encryptbykey(key_guid('sy_key1_test'),'600',1,'20') )

insert into usertest (username,usermoney) values('bbb',encryptbykey(key_guid('sy_key1_test'),'300',1,'21') )

insert into usertest (username,usermoney) values('ccc',encryptbykey(key_guid('sy_key1_test'),'400',1,'22') )

insert into usertest (username,usermoney) values('ddd',encryptbykey(key_guid('sy_key1_test'),'500',1,'23') )

解密方法

Cast(Decryptbykey(解密列1,1,cast(验证器值 as varcahar(100)))  as varchar(200))

select id,username,cast(decryptbykey(usermoney,1,cast(id as varchar(3))) as varchar(20)) as 'test' from usertest

# 第四步、为已存在的分区表增加新的边界值

## --1、成立文件组和呼应的文本。

alter database User_DB add filegroup know4

 

alter database User_DB add file    

(name=N'know4',filename=N'G:DBfenquknow4.ndf',size=5Mb,filegrowth=5mb, maxsize=1gb)

to filegroup know4

 

## --2、给分区方案添Gavin件组

alter partition scheme konwPartitionSolution

NEXT USED know4

 

## --3、给分区函数增多二个边界值

alter partition function knowPartitionFunc()

split range(N'2014-04-01T00:00:00') 

本文由9159.com发布于www.9159.com,转载请注明出处:数据库图形化管理工具创建数据库步骤,    

关键词: www.9159.com 9159.com