Navicat与mysql详解
第一部分 对Navicat的操作
1.连接
1.1创建新连接
首先启动Navicat for MySQL,点击左上角的【连接】(如图1.1.1):
点击之后便会出现如图所示的界面(如图1.1.2):
连接名可以任意取,主机名或IP地址则填写你需要连接数据库的IP地址,如是本地,则填 localhost,但推荐填写 127.0.0.1,这表示回送地址,指本地机,一般是用来测试的。端口默认为3306,用户名默认是root,而密码则是安装时自己填写的密码。
填写完后,可点击该界面左下角的测试连接,如显示连接成功则可操纵数据库,如失败,请仔细检查,或度娘。
2.数据库
2.1创建新数据库
双击你创建的连接,你会发现有几个MySQL预先创建好的数据库,这个你可暂且不管。自己新建几个数据库。
mysql删除重复的数据保留一条右击你新建的连接,点击新建数据库。
数据库名自取,字符集一般选uft8,排序规则可自选。
3.表
3.1创建新表
双击你创建的数据库,如图1.3.1,我创建的数据库名叫test,双击之后会变出现一些选项。
右击表,新建表。
        如图1.3.2所示,每一行数据有六列,从左到右分别是:数据的名称(最好是英文),该数据    的类型(可度娘MySQL的数据类型,可对应java的基本数据类型),该数据允许的长度,允许    保留的小数点位数,允不允许可以为空值,最后一个是设置主键。
一个表最好有一个主键,同一个表里每一行数据的主键值各不相同,这样才能将同一表的数据区    分开来,操纵数据也方便得多。
如图1.3.3
填写完之后,点击左上角的保存,此时会弹出一个窗口让你填写表名,表名写入之后返回Navicat主窗口,就会发现自己新建的数据库里多了一个表。
依次,我们新建四个表,并且使四个表之间相互联系。
图1.3.4
点击进入之后,表内有字段,这些字段便是之前创建表时填写的,如图1.3.5
图1.3.5
3.2设计表
之前设计的四个表分别是,transaction(交易表)、transactionProductAssign(交易与产品对应表)、product(产品表)、productItem(产品明细表)。
Transaction是交易表,里面的每一行数据储存着一条交易信息,transactionProductAssign是交易与产品对应表,里面储存的是每一条交易对应的产品号。交易表和交易与产品对应表是一对多的关系,即,一条交易对应多个产品。如图1.3.6、图1.3.7所示:
图 1.3.6
图 1.3.7
交易表里有一条交易信息,交易ID(即transactionID)为20140818183847274,而交易与产品对应表里有两条数据,虽然它们的transactionProductAssignID不同,productItemID也不同,但他们的transactionID相同。也就是说,这两条交易与产品对应信息属于transactionID为20140818183847274的这笔交易。
交易对应多个产品,一条交易与产品对应信息则对应一个具体产品(即交易与产品对应表、产品明细表是一对一的关系)。
而product(即产品表)则是,一条产品数据代表着产品,而这个产品又有很多种类、版本,所以,一个产品信息对应多个产品明细信息。
说通俗点,就是,一个人去买东西,买了一次东西就是一笔交易(存在transaction表里面)。而这笔交易买了很多的产品(对应关系存在transactionProductAssign表里面)。这些产品可能有:肾6,肾5S,心相印面巾纸,知音面巾纸(具体产品存在productItem表里面)。其中,肾6、肾5S都属于苹果系列,心相印面巾纸、知音面巾纸都属于纸巾系列,所以苹果和纸巾便是一种产品的统称(存在productI表里面)。
那为什么要这样设计呢?为什么不把这些设计在一张表里面,这样省时省事。
但是,如果你仔细研究,你就会发现,这里面暗藏玄机。
首先就看这一点来说,如果所有的交易信息、产品信息全在一个表的一行数据里,第一不美观,第二让人很难看得下去。最重要的一点是,为了消除冗余。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。