机房重构——数据库

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

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

     耿建玲视频看完后,就陆续开始敲学生,敲机房,虽说是学过数据库了,但是只是大体了解,具体应用还是不熟悉,于是用的都是给的数据库,在敲机房的过程中,用了很多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>

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

   

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 为什么有些人除了上课时间以外都没有学习,成绩却还是很好?

    为什么有些人除了上课时间以外都没有学习,成绩却还是很好?新高二学生,成绩在班级10~12名左右。有两个女生特别6。第一个,我室友,上课以外的时间都是看漫画,看小说,画画,睡觉,吃零食。但是成绩就是很好,她化学进了学校的竞赛培训班,数学也很好,但是平时完全没有死命学的迹象。第二个,另一个寝室的,我们是寄宿学校要求交手机,她没交,经常看见她玩,成绩也是铁打的特别好。我观察了一下,她们共同特点就是上课听讲特别认真,然后就是会玩。我真的很想

    2022年6月2日
    50
  • Initialization failed for ‘https://start.spring.io’ Please check URL, network and proxy settings.

    Initialization failed for ‘https://start.spring.io’ Please check URL, network and proxy settings.

    2021年10月1日
    50
  • 解决:mysql is blocked because of many connection errors;

    解决:mysql is blocked because of many connection errors;

    2021年9月21日
    144
  • 一个前端开发关于运维工具的思考:运维工具一定是难用的吗?「建议收藏」

    “在2019年的今天,我们想要一个易用的运维工具!”开源代码地址:https://github.com/WeBankPartners/we-cmdb一、背景WeCMDB作为WeCube开源计划的一部分,已经开源了一段时间。开源之后,有许多用户给了我们很多有用的意见及建议,帮助我们从不同的视角审视WeCMDB。这也是我们需要开源的原因之一,听取各方的意见相比于闭门造车可以少走更多的弯路…

    2022年4月11日
    33
  • 5G信道编码之争

    5G信道编码之争2019年华为技术再次突围,中国有一次掀起5G热潮。时间回到2016年,让我们去看看当年精彩的5G信道编码之争。什么是信道编码?在移动通信中,由于存在干扰和衰落,信号在传输过程中会出现差错。所以需要对数字信号采用纠、检错编码技术,以增强数据在信道中传输时抗干扰的能力,提高系统的可靠性。对要在信道中传送的数字信号进行的纠、检错编码就是信道编码。信道编码是为了降低误码率和提高数字通信的可靠性而采取的编码。信道编码是如何检出和校正接收比特流中的差错呢?通过加入一些冗余比特,把几个比特上携带的信息扩散到

    2022年5月2日
    51
  • 漫画什么是分布式事务_分布式事务框架

    漫画什么是分布式事务_分布式事务框架点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达!————— 第二天 —————————————————假如没有分布式事务在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子:上图中包含了库存和订单两个独立的微服务,每个微服务维护了自己的数据库。在交易系统的业务逻辑中,一个商品在下单之前需要先调用库存服务,进行扣除库存,再调用订

    2022年10月23日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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