查看完整版本: 想詢問SQL資料庫的問題
頁: [1]

莫莫無名 發表於 2014-12-27 11:39 AM

想詢問SQL資料庫的問題

小弟在資料表的關聯種類 有不懂地方請大大解答

我的A資料表中 有 客戶代號 客戶名稱 廠商代號(FK)

B資料表中有
廠商代號(FK) 廠商名稱

問題1:上面的關係 是不是所謂的一對一關聯

問題2:
那今天我在B資料表中 在多加欄位 廠商電話 廠商地址

這樣是不是就變成一對多的關聯

最近一直看很多對關聯的解釋 都還是沒辦法領悟 所以自己用個範例來尋求解答<div></div>

silviana 發表於 2014-12-28 05:15 AM

不太明白你的意思

如果table A內的key是Unique
table B使用的是table A的Unique key(也就是foreign key),那這就是1:1了
因為任一table A內的key只會指向任一table b內的一組資料

pulley0503 發表於 2015-1-4 01:02 PM

莫莫大大
B TABLE 如果要單一關聯 那您的PRIMARY KEY 設定FK 即可
反之 多設幾個

w12463 發表於 2015-6-5 09:45 AM

一個表有PK值 如你的CASE
A表的廠商代號(FK)  可以在B表找到兩筆以上 那就是1對多
反則1對1
問題2你只是新增欄位並不是新增資料 他們關係不變

smallanan 發表於 2015-10-6 01:19 AM

本帖最後由 smallanan 於 2015-10-6 01:20 AM 編輯

你把他想得太複雜了

一對一、一對多

就是顧名思義,他在這個table的欄位裡,他是否是獨一無二的,是的話就是一,否就是多

舉個例子

學生資料表
學號  姓名
1      小陳
2      小李

分數資料表
序號  學號  科目  分數
1      1      國語  80
2      1      數學  65
3      2      國語  59
4      2      數學  90

學生資料表的學號為"唯一值"(即不會重複)即為一
分數資料表的學號不是唯一值 即為多

因此這就是一對多的資料表

應該是這樣說的,如有謬誤,請趕快導正我~
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><br><br><br><br><br><div></div>

m00148 發表於 2015-12-31 10:20 AM

感覺怪怪的
A資料表
客戶代號 客戶名稱 廠商代號(FK)
B資料表中有

廠商代號(FK) 廠商名稱


2個資料表本身感覺就有問題,請先大概述說你2個資料表的關係,為什麼客戶資料表會需要廠商代號(FK) ,因為是公司進貨到倉儲然後分發到店面最後在賣給客戶,照理說2者是不會有關系的
在一些案例中是不分廠商資料表跟客戶資料表的是會做成同一個資料表,因為兩者同為貿易關係,只是一個是買一個是賣
A資料表
廠商代號廠商名稱


AA   美商
AB 台商
AC 陸商
AD 日商
B資料表中有

商品代號 商品名稱


ZA         10吋螺絲
ZB 12吋螺絲
ZC 15吋螺絲
ZD 20吋螺絲
ZE 22吋螺絲
c資料表中有

交易代碼 商品代號 廠商代號

S1 ZA AA
S1 ZB AA
S2 ZA AB
S3 ZB AC
S3 ZC AC




一家公司有多項商品(螺絲),每項商品(螺絲)以規格區分,為了供貨穩定每項商品(螺絲)向多家廠商購買。
(臨時想出來的,資料表還是有許多問題)




...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

he00888366 發表於 2016-1-6 06:09 AM

A資料表 對應的 FK 廠商代號 因該是要對應 B資料表 廠商名稱
是一對多的關聯
不知道你的疑問是啥
主要要看你組 SQL 語法想撈出多筆的 廠商名稱  來說明一對多的設計
頁: [1]