发表于: 2018-02-23 21:34:50

4 833


一、今天完成的事情:

1).业务模型的建立,查了网上的资料感觉讲的很模糊。

2).下载安装mysql

    Windows mysql 社区版下载:https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.7.21.0.msi
安装时我选择的服务器 server only ,装开发者版本插件太多了,网上有说安装路径不能包含中文,最好还是全英文
安装时需要C++之类的扩展包,点击execute即可安装,打钩后再进行下一步
type and networking 
 - 选择 standalone mysql 独立可复制的
 - 选择 sandbox InnoDB 沙箱测试的,应该是分布式集群服务器
后面就是创建账号密码了;
将mysql目录添加到系统环境变量path中:
在计算机右键-系统-属性-高级系统设置-环境变量-系统环境变量中的Path末尾添加mysql相关目录:
C:\Program Files\MySQL\MySQL Server 5.7\bin;
完成后打开命令提示符输入:
net stop mysql57  停止mysql服务;

net start mysql57  启动mysql服务;

--ps:启动停止操作需管理员权限运行,我用的5.7版本 其他版本具体查看系统服务中的mysql服务名称

mysql -uroot -p 回车即可登录mysql,root为之前设置的用户名,回车后输出密码;

3.下载安装Navicat 

    地址(破解绿色版=.=):http://www.mt30.com/Soft/ShowPic.asp?SoftID=107650

点击新建连接填写用户名密码即可

4).创建数据库:

需求:学员报名

  • 报名格式:
  • 姓名:燕小鱼
  • QQ:11111
  • 修真类型:前端工程师
  • 预计入学时间:2016年X月X日
  • 毕业院校:北京天天蓝大学天天玩技术学院
  • 线上(jnshu.com)学号:XXXX
  • 日报链接:http:www.jnshu.com/XXXXX(请发最近一篇日报的链接,不要发整个日报列表,本长老点不进列表!)
  • 立愿:如果我不能在IT特训营拼尽全力,为自己以后的修行路上打好基础,就让我变胖2斤!
  • 辅导师兄:东方不败  
  • 从何处了解到的修真院:例如“知乎”、“微信公众号”“朋友推荐”还有其他~

  • 分析:
  •     参考修真院线下报名贴(学习资料-线下报名-北京报名)中报名的格式,整理出业务模型,确定需要几个对象,每个对象的属性是什么,对象和对象之间的关系是一对一,还是一对多。

  • 其中学生为一个对象,此对象包含9个属性:姓名、QQ、修真类型、预计入学时间、毕业院校、线上学号、日报连接、立愿、辅导师兄。
  • 修真类型为一个对象,其中包含多个职业类型。
  • 毕业院校为一个对象,其中包含多个学校名称。

  • 分析其中的关系:
  • 一个学生只有一个毕业院校和职业,一个毕业院校可以有多个学生、一个职业也可以有多个人。
  • 修真类型(职业)、毕业院校中可以有多个学生属于一对多的关系,
  • 学生的修真类型(职业)、毕业院校只有一个属于一对一的关系,
  • 可以建立三张表:students、schools、professions,三张表组合起来就是报名的学生数据库enroll,
  • 多对应的实体的ID,放到1对应的实体里去。
  • students表
    字段名类型是否为空主键外键默认值说明
    s_idbigint线上学号
    s_namevarchar(20)学生姓名
    s_qqbigintQQ
    create_atbigint创建时间
    update_atbigint入学时间
    s_schoolbigint毕业院校
    s_coursebigint修真类型
    s_flagvarchar(60)flag!
    s_fd_namevarchar(20)辅导师兄
    s_linkvarchar(255)日报连接
    s_sourcevarchar(20)了解来源
    schools表
    sch_idbigint学校id
    sch_schoolvarchar(20)学校名称
    course表
    p_idbigint类型id
    p_professionvarchar(20)修真类型

创建数据库:CREATE DATABASE enroll;/删除数据库:DROP DATABASE enroll;
进入数据库:USE enroll;
创建数据表:
a). courses表
 CREATE TABLE IF NOT EXISTS courses(
 `c_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '类型id',
 `c_course` varchar(20) NOT NULL COMMENT '修真类型',
 PRIMARY KEY(`c_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

b).schools表

 CREATE TABLE IF NOT EXISTS schools(
`sch_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '院校id',
`sch_school` varchar(20) NOT NULL COMMENT '毕业院校',
PRIMARY KEY (`sch_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

c).students表

CREATE TABLE IF NOT EXISTS students (

`s_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '线上学号';

`s_name` varchar(20) NOT NULL COMMENT '姓名',

`s_qq` bigint(20) NOT NULL COMMENT 'QQ',

`create_at` bigint(20) NOT NULL COMMENT '创建时间',

`uptada_at` bigint(20) NOT NULL COMMENT '入学时间',

`s_school` bigint(20) NOT NULL COMMENT '毕业院校id',

`s_course` bigint(20) NOT NULL COMMENT '修真类型id',

`s_flag` varchar(60) NOT NULL COMMENT 'flag',

`s_fd_name` varchar(20) NOT NULL COMMENT '辅导师兄',

`s_link` varchar(255) NOT NULL COMMENT '日报连接',

`s_source` varchar(20) NOT NULL COMMENT '了解来源',

PRIMARY KEY (`s_id`),

KEY `pk_courese` (`s_course`),

KEY `pk_schook` (`s_school`),

CONSTRAINT `pk_courese` FOREIGN KEY (`s_course`) REFERENCES `courses` (`c_id`),

CONSTRAINT `pk_schook` FOREIGN KEY (`s_school`) REFERENCES `schools` (`sch_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

5).向数据库中插入数据

INSERT INTO schools VALUES(1,'中山大学');

INSERT INTO schools VALUES(2,'北京大学');

INSERT INTO courses VALUES(1,'JAVA');

INSERT INTO courses VALUES(2,'PHP');

INSERT INTO students VALUES(1,'张三','1753218','20180123','20180123',1,1,'jiayou','dd','http://www.baidu.com','知乎');

INSERT INTO students VALUES(2,'李四','1753558','20180123','20180123',2,1,'努力奋斗','五五开','https://xiaoweba.ml','微博');

6).查找数据

SELECT * FROM stundents;

delete from students where s_id =2;/删除学号为2的数据

select * from students where s_school=(select sch_id from schools where sch_school='中山大学' );//显示毕业于中山大学的学生

select * from students where s_course=(select c_id from courses where c_course='JAVA' );//显示java班级的学生

7).更改数据

UPDATE students SET s_flag = '学无止境' where s_id = 1;

select * from students where s_id = 1;

二、遇到的问题

1).业务模型的建立相关资料找了很久;

2).mysql的不是很熟悉花了很久,数据表结构可能还需要优化;


三、明天计划的事情:

1).完成task1剩下的任务;

2).继续理解业务表的建立和表之间的关系;

四、收获:

业务模型的建立基本知识,mysql的基本语法,多表之间的关系等等;




返回列表 返回列表
评论

    分享到