机房重构——数据库

机房重构——数据库机房重构——数据库

大家好,又见面了,我是你们的朋友全栈君。

     耿建玲视频看完后,就陆续开始敲学生,敲机房,虽说是学过数据库了,但是只是大体了解,具体应用还是不熟悉,于是用的都是给的数据库,在敲机房的过程中,用了很多SQL语句,自考也学了数据库,更深入的学习了数据库的知识,所以,第二次敲机房,再不亲自创建一个数据库都说不过去了,那具体的过程是怎样的呢?

1.找出实体及实体之间的联系,画ER图。

机房重构——数据库

实体不是唯一的,他们之间的关系也只是个人理解,只要能说服自己,合理即可。

2.根据ER图导出关系模式。

<span style="font-family:KaiTi_GB2312;font-size:18px;">student(studentNo,studentName,sex,department,grade,class,explain)
card(cardNo,cash,studentNo,userID,status,Ischeck,date,time,type)
manager(userID,PWD,userName,level,Head)
Recharge(serial,cardNo,addMoney,date,time,userID,status)
CancelCard(cardNo,cancelCash,date,time,userID,status)
BasicData(Rate,tmpRate,unitTime,leastTime,prepareTime,limitCash,head,date,time)
WorkLog(serial,userID,level,loginDate,loginTime,logoutDate,logoutTime,computer)
OnlineLog(serial,cardNo,studentNo,onDate,onTime,offDate,offTime,consumeTime,consume,cash,status,computer)
CheckOut(RemainCash,RechargeCash,ConsumeCash,CancelCash,AllCash,date,time)</span>



3.根据ER图和关系模式在SQL Server中用SQL语句创建数据库。

<span style="font-family:KaiTi_GB2312;font-size:18px;">use master           '设置当前数据库为master,以便访问sysdatabases表,因为master数据库中的sysdatabases存放了所有数据库清单
go                   '判断当前数据库系统中是否存在自己要新建的数据库,如果是就要删除
if exists(select * from sysdatabases where name=’myCharge’)
drop database myCharge
go

create database mySQL
on primary
(
	name='myCharge_data',                   '数据库的逻辑名称
	filename='D:\myCharge_data.mdf',        '物理文件名
	size=5mb,                               '初始大小                 
        maxsize=100mb,                          '最大值
        filegrowth=15%                          '文件的增长速度
)
log on
(
	name='myCharge_log',                    '数据库的逻辑名称
 	filename='D:\myCharge_log.ldf',         '物理文件名
	size=2mb,                               '初始大小
	maxsize=10mb                            '文件的增长速度
)</span>


4.通过SQL语句新建表。

以创建manager表为例

<span style="font-family:KaiTi_GB2312;font-size:18px;">use myCharge 
go 
if exists (select * from sysobjects where name ='manager')
drop table manager 
create table manager                         '创建manager表      
(
    userID int primary key,                  '添加userID字段,并设为主键
    PWD char(10) not null,
    userName char(10) not null,
    level char(10) not null,
    head  char(10) not null,
)</span>

    这样基本的数据库就算建好了,但是在使用的过程中,一定还有需要修改的地方,还有关于存储过程和触发器的东西,等具体用到了再来补充。

   

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/105769.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java单例模式实现的两种方式和应用场景

    Java单例模式实现的两种方式和应用场景单例模式的定义个人理解,单例是指单个实例,在整个应用程序当中有且仅有一个实例存在,该实例是通过代码指定好的(自行创建的)。为什么要使用解决在高并发过程中,多个实例出现逻辑错误的情况。在特定的业务场景下避免对象重复创建,节约内存。实现的两种方式饿汉式顾名思义,不管有没有使用到该对象,只要程序启动成功,该单实例对象就存在。代码如下:/***饿汉式*/publicclassSingletonHungry{privatestaticSingletonHung

  • 工具说明书 – 网页死链检测工具XENU及其名字来历「建议收藏」

    工具说明书 – 网页死链检测工具XENU及其名字来历「建议收藏」Xenu’sLinkSleuth是一个免费的小工具,Windows版本,给给定的URL或网页文件进行死链分析,给出报告。访问死链,一般会返回:404NotFound。TheHTTP404NotFoundclienterrorresponsecodeindicatesthattheservercan’tfindtherequestedresource.Linksthatleadtoa404pageareoftencalledbrok.

  • Cocos2dx 3.0开发环境的搭建–Eclipse建立在Android工程

    Cocos2dx 3.0开发环境的搭建–Eclipse建立在Android工程

  • iframe自适应高度_jquery取iframe文本

    iframe自适应高度_jquery取iframe文本超级简单的方法,也不用写什么判断浏览器高度、宽度啥的。下面的两种方法自选其一就行了。一个是放在和iframe同页面的,一个是放在test.html页面的。注意别放错地方了哦。iframe代码

    2022年10月12日
  • JAVA位移运算「建议收藏」

    JAVA位移运算「建议收藏」1、java将负整数转成二进制这里以8位为例,只是为了表明过程,实际中java的int类型是4byte,也就是32位。二进制的首位是符号位,0表示正数,1表示负数,在java中,会对负数进行取反加一操作,进而计算出实际的十进制值。如10101010,此8位的二进制数首位是1,表示负数,所以对后面的七位进行取反加一操作,即0101010–>1010110,换成十进制的数就是86,再加上首位的1表示负数,结果就是-86。2、位移运算1)正数的右移:如10>>2,左边自动补0,右边移出

  • 小程序自定义tabbar的两种方式

    小程序自定义tabbar的两种方式小程序自定义tabbar先做一下效果展示吧本案例是按照官网来做的app.js代码:“tabBar”:{“custom”:true,“color”:“#000000”,“selectedColor”:“#000000”,“backgroundColor”:“#000000”,“borderStyle”:“white”,“list”:[{“pagePath”:…

    2022年10月25日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号