发表于: 2017-08-28 20:44:39

2 949


1.今天完成的事情

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

     对象日常生活中的所有东西都是对象,是类的实例化。比如说:推土车是汽车的实例化;姚明是人的实例化;小白(狗的名字)是狗的实例化;二郎神是神的实例化;

    对象属性用来描述具体某个对象的特征的是属性,是静态的。比如:姚明身高2.6米多;小白的毛发是棕色的;二郎神额头上有只眼睛;

    对象关系:(在网上看到表间关系,感觉介绍的挺好,区分对象关系,可以更好的分开制作更加优化的表格,同时可以通过select指令更快找到需要的对象)

1.一对多,在多的一方建立外键(外键指向一的主键)

母亲与孩子的关系:母亲,孩子两个实体
母亲表:ID(P),名字,年龄,性别
孩子表:ID(P),名字,年龄,性别
以上关系:一个妈妈可以在孩子表中找到多条记录(也可能是一条),但是一个孩子只能找到一个妈妈
是一种典型的一对多的关系。
但是以上设计:解决了实体的设计表问题,但是没有解决关系问题,孩子找不到母亲,母亲也找不到孩子

解决方案:在某一张表中增加一个字段,能够找到另外一张表中的记录:在孩子表中增加一个字段
指向母亲表,因为孩子表的记录只能匹配到一条母亲表的记录。
母亲表:ID(P),名字,年龄,性别
孩子表:ID(P),名字,年龄,性别,母亲表ID(母亲表主键)


2.多对多的关系,是通过中间表。中间表是多的一方,所以多的一方要包含指向一的一方的外键。所以中间表,作为两边多的一方,中间表要包含两边的外键,两个外键分别指向两张表的主键。

多对多
一对表中(A)的一条记录能够对应另外一张表(B)中的多条记录;同时B表中的一条记录
也能对应A表中的多条记录

老师和学生
老师表 T_ID(P),姓名,性别
学生表 S_ID(P),姓名,性别
以上设计方案:实现了实体的设计,但是没有维护实体的关系
一个老师教过多个学生,一个学生也被多个老师教过

解决方案:增加一张中间关系表
老师与学生的关系表:ID(P),T_ID,S_ID
老师表与中间表形成一对多的关系,而中间表是多表;维护了能够唯一找到一表的关系;
同样的学生表与中间表也是一个一对多的关系;
学生找老师:找出学生ID--->中间表寻找匹配记录(多条)--->老师表匹配(一条)
老师找学生:找出老师ID--->中间表寻找匹配记录(多条)--->学生表匹配(一条)

     对象整理

     姓名(Name)                            属性:1-10个长度不定的字符串          数据类型:VARCHAR(10)

   QQ号(QQ)                                属性:数字1-1000000000                数据类型:INT(1000000000)

   修真类型(courseTypeID)                 属性:前端工程师|JAVA工程师|运维工程师| iOS工程师|Android工程师| UI设计师|产品经理  1-10个长度不定字符串                                                                                数据类型:VARCHAR(10)

   预计入学时间(estimateEnrollTime)        属性:2016年X月X日 分为年月日         数据类型:DATE()或直接用VARCHAR(10),等待程序测试

   毕业院校(School)                        属性:北京天天蓝大学天天玩技术学院     数据类型:VARCHAR(20)

   线上学号(OnlineID)                      属性: 1-10000以内整数                 数据类型:Integer

   日报链接(Dailylinks)                   属性:1-50长度不定字符串               数据类型:varchar(50)

   立愿(Will)                              属性:1-50长度不定字符串               数据类型:varchar(50)

   辅导师兄(Seniortutor)                 属性:1-10长度不定字符串               数据类型:varchar(10)

   从何处了解到的修真院(WhereKnow)       属性:1-50长度不定字符串               数据类型:varchar(50)

   

   对象关系

    虽然明白对象之间关系,但还是对他们起到的作用不是很清楚,还有对象之间的关系感觉判别不出来。

  

经过对概念的进一步分析

把对象缩减为4个

学生信息表(StudentInfo)      属性(QQ号(QQ) ,预计入学时间(estimateEnrollTime) ,毕业院校(School) ,线上学号(OnlineID) ,日报链接(Dailylinks)立愿(Will)   

修真类型表(CourseType)      属性(语言,现学费,学制,是否邀请学伴学习分享通过邀请码注册集赞,优惠后最低至,借款

辅导师兄表(Seniortutor)    属性(QQ号(QQ) ,预计入学时间(estimateEnrollTime) ,毕业院校(School) ,线上学号(OnlineID) ,日报链接(Dailylinks)立愿(Will)   

从何处了解到的修真院(WhereKnow)


学生信息表与修真类型表为1对多

学生信息表辅导师兄表为1对多

学生信息表从何处了解到的修真院为多对多


②安装MySQL 5.5

  第一步:官网下载最新软件。

  第二步:解压缩放于D盘,生成 my.ini文件,文件编码如下

       

# 设置mysql客户端默认字符集

default-character-set=utf8 

[mysqld]

#设置3306端口

port = 3306 

# 设置mysql的安装目录

basedir=D:\mysql\mysql-5.6.17-winx64

# 设置mysql数据库的数据的存放目录

datadir=D:\mysql\mysql-5.6.17-winx64\data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB 

第三步:     通过CMD命令页进入MySQL数据库

                         管理员权限打开CMD

                      》》切换至当前安装文件夹        cd打开文件夹

                  》》mysqld install   //安装

   》》net start mysql    //启动服务

      》》输入mysql -uroot -p ,默认是没有密码的。回车进入

   》》(进不去mysqld --initialize --user=mysql –console取得临时密码进入)

   》》修改临时密码,设置密码:mysqladmin -u root -p password PASSWORD,注意PASSWORD为自己定义的数值

     如下,账户登录成功

  

第四步:    通过在系统属性。环境变量中添加 MySQL文件所在文件夹位置,免除切换文件夹,可以直接账户进入。


③.安装Navicat12破解版


安装顺利,顺利链接MySQL数据库

下面百度网盘最新破解版

链接:http://pan.baidu.com/s/1kV7kOLp 密码:6itp


2.今天遇到的问题

    一开始对对象关系的问题感觉比较迷茫,不是非常清楚关系的作用,感觉有点无从下手。基础知识还是不够扎实,需要加强基础,底层打的好才能走得远。

      MySQL安装时,my.ini里面的文件不要随便加符号,我多复制了一个问号,一直报错。 

    ③ 没事应该多上技术论坛,找  Navicat12资源时比较慢



3.明天打算

   ①熟悉SQL基础语言,熟悉添加修改表格的基本方法,构建一个小表格。

    增加Java基础学习

    完成任务一4-7


   





返回列表 返回列表
评论

    分享到