MS SQL——示例数据库

示例数据库

  1 --指向当前要使用的数据库
  2 use master
  3 go
  4 --判断当前数据库是否存在
  5 if exists (select * from sysdatabases where name='StudentManager')
  6 drop database StudentManager--删除数据库
  7 go
  8 --创建数据库
  9 create database StudentManager
 10 on primary
 11 (
 12     --数据库文件的逻辑名
 13     name='StudentManager_data',
 14     --数据库物理文件名(绝对路径)
 15     filename='D:\DB\StudentManager_data.mdf',
 16     --数据库文件初始大小
 17     size=10MB,
 18     --数据文件增长量
 19     filegrowth=1MB
 20 )
 21 ,
 22 (
 23    name='StudentManager_data1',
 24     --创建次要数据文件 
 25     filename='D:\DB\StudentManager_data1.ndf',
 26     size=2MB,
 27     filegrowth=1MB
 28 )
 29 --创建日志文件
 30 log on
 31 (
 32     name='StudentManager_log',
 33     filename='D:\DB\StudentManager_log.ldf',
 34     size=2MB,
 35     filegrowth=1MB
 36 )
 37 ,
 38 (
 39     name='StudentManager_log1',
 40     filename='D:\DB\StudentManager_log1.ldf',
 41     size=2MB,
 42     filegrowth=1MB
 43 )
 44 go
 45 
 46 --创建学员信息数据表
 47 use StudentManager
 48 go
 49 if exists (select * from sysobjects where name='Students')
 50 drop table Students
 51 go
 52 create table Students
 53 (
 54     StudentId int identity(100000,1) ,
 55     StudentName varchar(20) not null,
 56     Gender char(2)  not null,
 57     Birthday smalldatetime  not null,
 58     StudentIdNo numeric(18,0) not null,--身份证号 
 59     PhoneNumber varchar(50),
 60     StudentAddress varchar(500),
 61     ClassId int not null  --班级外键
 62 )
 63 go
 64 --创建班级表
 65 if exists(select * from sysobjects where name='StudentClass')
 66 drop table StudentClass
 67 go
 68 create table StudentClass
 69 (
 70     ClassId int primary key,
 71    ClassName varchar(20) not null
 72 )
 73 go
 74 --创建成绩表
 75 if exists(select * from sysobjects where name='ScoreList')
 76 drop table ScoreList
 77 go
 78 create table ScoreList
 79 (
 80     id int identity(1,1) primary key,
 81     StudentId int not null,
 82     CSharp int null,
 83     SQLServerDB int null,
 84     UpdateTime smalldatetime not null
 85 )
 86 go
 87 --创建一卡通账户表
 88 if exists(select * from sysobjects where name='CardAccount')
 89 drop table CardAccount
 90 go
 91 create table CardAccount
 92 (
 93      StudentId int not null,
 94      CurrentMoney money check(CurrentMoney>1)    --当前余额(必须大于1元)    
 95 )
 96 go
 97 --创建管理员用户表
 98 if exists(select * from sysobjects where name='Admins')
 99 drop table Admins
100 create table Admins
101 (
102     LoginId int identity(1000,1) primary key,
103     LoginPwd varchar(200) not null,
104     AdminName varchar(20) not null
105 )
106 go
107 --创建数据表的各种约束
108 use StudentManager
109 go
110 --创建“主键”约束primary key
111 if exists(select * from sysobjects where name='pk_StudentId')
112 alter table Students drop constraint pk_StudentId
113 
114 alter table Students
115 add constraint pk_StudentId primary key (StudentId)
116 
117 
118 --创建唯一约束unique
119 if exists(select * from sysobjects where name='uq_StudentIdNo')
120 alter table Students drop constraint uq_StudentIdNo
121 alter table Students
122 add constraint uq_StudentIdNo unique (StudentIdNo)
123 
124 --创建身份证的长度检查约束
125 if exists(select * from sysobjects where name='ck_StudentIdNo')
126 alter table Students drop constraint ck_StudentIdNo
127 alter table Students
128 add constraint ck_StudentIdNo check (len(StudentIdNo)=18)
129 
130 --创建默认约束
131 if exists(select * from sysobjects where name='df_StudentAddress')
132 alter table Students drop constraint df_StudentAddress
133 alter table Students 
134 add constraint df_StudentAddress default ('地址不详' ) for StudentAddress
135 
136 if exists(select * from sysobjects where name='df_UpdateTime')
137 alter table ScoreList drop constraint df_UpdateTime
138 alter table ScoreList 
139 add constraint df_UpdateTime default (getdate() ) for UpdateTime
140 
141 --创建外键约束
142 if exists(select * from sysobjects where name='fk_classId')
143 alter table Students drop constraint fk_classId
144 alter table Students
145 add constraint fk_classId foreign key (ClassId) references StudentClass(ClassId)
146 
147 if exists(select * from sysobjects where name='fk_StudentId')
148 alter table ScoreList drop constraint fk_StudentId
149 alter table ScoreList
150 add constraint fk_StudentId foreign key(StudentId) references Students(StudentId)
151 
152 if exists(select * from sysobjects where name='fk_CardStudentId')
153 alter table CardAccount drop constraint fk_CardStudentId
154 alter table CardAccount
155 add constraint fk_CardStudentId foreign key(StudentId) references Students(StudentId)
156 
157 -------------------------------------------插入数据--------------------------------------
158 use StudentManager
159 go
160 
161 --插入班级数据
162 insert into StudentClass(ClassId,ClassName) values(1,'软件1班')
163 insert into StudentClass(ClassId,ClassName) values(2,'软件2班')
164 insert into StudentClass(ClassId,ClassName) values(3,'计算机3班')
165 insert into StudentClass(ClassId,ClassName) values(4,'计算机4班')
166 
167 --插入学员信息
168 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
169          values('王小虎','','1989-08-07',120223198908071111,'022-22222222','天津市南开区红磡公寓5-5-102',1)
170 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
171          values('贺小张','','1989-05-06',120223198905062426,'022-33333333','天津市河北区王串场58号',2)
172 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
173          values('马小李','','1990-02-07',120223199002078915,'022-44444444','天津市红桥区丁字沽曙光路79号',4)
174 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
175          values('冯小强','','1987-05-12',130223198705125167,'022-55555555',default,2)
176 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
177          values('杜小丽','','1986-05-08',130223198605081528,'022-66666666','河北衡水路北道69号',1)
178 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
179          values('王俊桥','','1987-07-18',130223198707182235,'022-77777777',default,2)
180 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
181          values('张永利','','1988-09-28',130223198909282235,'022-88888888','河北保定市风华道12号',3)
182 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
183          values('李铭','','1987-01-18',130223198701182257,'022-99999999','河北邢台市幸福路5号',1)
184 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
185          values('宁俊燕','','1987-06-15',130223198706152211,'022-11111111',default,3)
186 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
187          values('刘玲玲','','1989-08-19',130223198908192235,'022-11111222',default,4)
188 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
189          values('赵雪','','1986-06-16',130223198606162215,'022-11111111',default,3)
190 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
191          values('刘阳','','1989-09-19',130223198909192235,'022-11111222',default,4)
192 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
193          values('秦双玲','','1990-08-19',130223199008192235,'022-11111222',default,1)
194 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
195          values('杜超超','','1988-05-16',130223198805162217,'022-11111111',default,4)
196 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
197          values('刘大国','','1989-02-12',130223198902122237,'022-11111222',default,2)
198 insert into Students (StudentName,Gender,Birthday,StudentIdNo,PhoneNumber,StudentAddress,ClassId)
199          values('刘军','','1988-03-12',130223198803122237,'022-11111222',default,3)
200          
201          
202          
203 --插入成绩信息
204 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100000,60,78)
205 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100001,55,88)
206 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100002,90,58)
207 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100003,88,75)
208 
209 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100004,62,88)
210 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100006,52,80)
211 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100007,91,66)
212 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100009,78,35)
213 
214 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100011,72,80)
215 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100012,95,92)
216 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100013,76,39)
217 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100014,68,65)
218 insert into ScoreList (StudentId,CSharp,SQLServerDB)values(100015,50,85)
219 
220 --插入学员一卡通账户数据
221 insert into CardAccount(StudentId,CurrentMoney)values(100001,1000)
222 insert into CardAccount(StudentId,CurrentMoney)values(100002,1500)
223 insert into CardAccount(StudentId,CurrentMoney)values(100003,1600)
224 insert into CardAccount(StudentId,CurrentMoney)values(100004,800)
225 insert into CardAccount(StudentId,CurrentMoney)values(100005,1200)
226 
227 
228 --插入管理员信息(初始密码:123456)
229 insert into Admins (LoginPwd,AdminName) values('123456','王晓宏')
230 insert into Admins (LoginPwd,AdminName) values('123456','李小君')
231 insert into Admins (LoginPwd,AdminName) values('123456','赵二宝')
232 insert into Admins (LoginPwd,AdminName) values('123456','范晓彤')
233 
234 
235 --显示学员信息和班级信息
236 select * from Students
237 select * from StudentClass
238 select * from ScoreList
239 select * from CardAccount
240 select * from Admins
StudentManager

 

posted @ 2022-05-29 18:35  云谷の风  阅读(32)  评论(0编辑  收藏  举报