学生信息管理系统---数据库的建立

    在刚刚结束学生信息管理的时候一直在纠结一个问题,那就是。数据库什么时候建立。

    起初,我不知道怎么创建数据库。用SQL语句创建数据库。那么代码在哪里写。这些问题我都不知道。所以我就先看的vb代码。先把vb代码敲完,调试完。回头再问问其他人,数据库怎么建立。如果真的不会建立。那么我先敲完程序,在看耿建玲视频的时候,应该就会创建了吧。我是这样认为的。

    学生信息管理系统也算是结束了吧。刚敲完代码,正好赶上更换导师后开会。我询问了我师父。他说,学生信息管理系统,比较基础,可以使用源码中的数据库直接生成,不需要自己建立。不过,后面的机房收费系统的数据库必须是自己建立的。而且还没有源码。所以对于学生信息管理系统要深刻的认识。

    对于创建数据库。有两种方法:一种是利用企业管理器进行创建。另一种就是写成sql文件直接生成数据库(就是利用Transact-SQL语句)。

    首先要有创建数据库的权限。上一章有提到。添加sysadmin

    一:利用企业管理器创建数据库:

学生信息管理系统---数据库的建立_第1张图片


学生信息管理系统---数据库的建立_第2张图片

写好数据库的名称,修改数据库文件的路径,在选项中设置数据库的属性等。就创建成功了。

新建的数据库中,只有一些系统表。所以需要手动来创建表。


学生信息管理系统---数据库的建立_第3张图片

学生信息管理系统---数据库的建立_第4张图片

依次设置字段名称,数据类型等参数。


学生信息管理系统---数据库的建立_第5张图片


二:使用SQL语句创建数据库


学生信息管理系统---数据库的建立_第6张图片

新建一个sql,写好代码 直接执行 就生成数据库了,如下:




		use master
		go
		
		if exists (select * from dbo.sysdatabases where name = 'Student') --如果数据库中有Student数据库 那么删除
		drop database Student
		GO
		
		create database Student      --创建Student数据库
		go
		use Student
		go				--创建数据库完成
		
		
		
		/***********************************
			把系统表里面名字相同的表删除
		***********************************/
		if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[user_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
		drop table [dbo].[user_Info]           --判断数据库中是否有dbo.user_Info这张表,有就删除
		GO
		
		if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[student_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
		drop table [dbo].[student_Info]        --判断系统表内是否存在dbo.student_Info这个表
		GO
		
		if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[result_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
		drop table [dbo].[result_Info]
		GO
		
		if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[gradecourse_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
		drop table [dbo].[gradecourse_Info]
		GO
		
		if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[course_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
		drop table [dbo].[course_Info]
		GO
		
		if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[class_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
		drop table [dbo].[class_Info]
		GO
		
		CREATE TABLE [dbo].[user_Info] (	--
			[user_ID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
			[user_PWD] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
			[user_Des] [char] (10) COLLATE Chinese_PRC_CI_AS NULL 
		) ON [PRIMARY]
		GO
		
		
		
		
		
		/*******************************************************
			以此创建你所需要的表,指明字段,数据类型,是否为空
		*******************************************************/
		CREATE TABLE [dbo].[student_Info] (
			[student_ID] [int] NOT NULL ,
			[student_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
			[student_Sex] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
			[born_Date] [datetime] NULL ,
			[class_NO] [int] NULL ,
			[tele_Number] [char] (11) COLLATE Chinese_PRC_CI_AS NULL ,		--注意号码的位数
			[ru_Date] [datetime] NULL ,
			[address] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
			[comment] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL 
		) ON [PRIMARY]
		GO
		
		CREATE TABLE [dbo].[result_Info] (
			[exam_No] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
			[student_ID] [int] NOT NULL ,
			[student_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
			[class_No] [int] NULL ,
			[course_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
			[result] [float] NULL 
		) ON [PRIMARY]
		GO
		
		CREATE TABLE [dbo].[gradecourse_Info] (
			[grade] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
			[course_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL 
		) ON [PRIMARY]
		GO
		
		CREATE TABLE [dbo].[course_Info] (
			[course_No] [int] NOT NULL ,
			[course_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
			[course_Type] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
			[course_Des] [char] (50) COLLATE Chinese_PRC_CI_AS NULL 
		) ON [PRIMARY]
		GO
		
		CREATE TABLE [dbo].[class_Info] (
			[class_No] [int] NOT NULL ,
			[grade] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
			[director] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
			[classroom_No] [char] (10) COLLATE Chinese_PRC_CI_AS NULL 
		) ON [PRIMARY]
		GO
		
		
		
		/**********************************************
			在学生信息管理系统中添加一条记录,便于登陆
		**********************************************/
		insert user_Info(user_ID,user_PWD)

		VALUES('student','student')



对于那些,直接使用sql直接生成的同学。电话号码最多输入10位。

所以需要修改字段的数据类型。如下:


alter table student_info
alter column tele_Number char(20)
exec sp_help student_info  --修改并查看





你可能感兴趣的:(sql,sql,数据库,server)