One-to-Many
In a "class roster" database, a teacher may teach zero or more classes, while a class is taught by one (and only one) teacher. In a "company" database, a manager manages zero or more employees, while an employee is managed by one (and only one) manager. In a "product sales" database, a customer may place many orders; while an order is placed by one particular customer. This kind of relationship is known as one-to-many.
One-to-many relationship cannot be represented in a single table. For example, in a "class roster" database, we may begin with a table called Teachers, which stores information about teachers (such as name, office, phone and email). To store the classes taught by each teacher, we could create columns class1, class2, class3, but faces a problem immediately on how many columns to create. On the other hand, if we begin with a table called Classes, which stores information about a class (courseCode, dayOfWeek, timeStart and timeEnd); we could create additional columns to store information about the (one) teacher (such as name, office, phone and email). However, since a teacher may teach many classes, its data would be duplicated in many rows in table Classes.
To support a one-to-many relationship, we need to design two tables: a table Classes to store information about the classes with classID as the primary key; and a table Teachers to store information about teachers with teacherID as the primary key. We can then create the one-to-many relationship by storing the primary key of the table Teacher (i.e., teacherID) (the "one"-end or the parent table) in the table classes (the "many"-end or the child table), as illustrated below.
One-to-หลายคนใน "บัญชีรายชื่อระดับ" ฐานข้อมูลครูอาจสอนศูนย์หรือมากกว่าการเรียนในขณะที่การเรียนการสอนโดยหนึ่ง (และมีเพียงหนึ่ง) ครู
ในฐานข้อมูลว่า "บริษัท " ผู้จัดการบริหารจัดการศูนย์หรือมากกว่าพนักงานในขณะที่พนักงานมีการจัดการโดยหนึ่ง (และมีเพียงหนึ่ง) ผู้จัดการ ใน "ยอดขายผลิตภัณฑ์" ฐานข้อมูลลูกค้าอาจวางคำสั่งซื้อจำนวนมาก; ในขณะที่คำสั่งจะถูกวางไว้โดยลูกค้าหนึ่งโดยเฉพาะ ชนิดของความสัมพันธ์นี้เป็นที่รู้จักกันว่าเป็นหนึ่งต่อหลาย.
หนึ่งต่อหลายความสัมพันธ์ไม่สามารถแสดงในตารางเดียว ยกตัวอย่างเช่นในฐานข้อมูล "บัญชีรายชื่อระดับ" เราอาจเริ่มต้นด้วยตารางที่เรียกว่าครูที่เก็บข้อมูลเกี่ยวกับครูผู้สอน (เช่นชื่อสำนักงานโทรศัพท์และอีเมล) ในการจัดเก็บการเรียนการสอนโดยครูแต่ละครั้งเราสามารถสร้างคอลัมน์ Class1, Class2, Class3 แต่ใบหน้าเป็นปัญหาทันทีในจำนวนคอลัมน์ที่จะสร้าง ในทางกลับกันถ้าเราเริ่มต้นด้วยตารางที่เรียกว่าการเรียนการสอนซึ่งเก็บข้อมูลเกี่ยวกับการเรียน (courseCode, วันในสัปดาห์, timeStart และ timeEnd); เราสามารถสร้างคอลัมน์เพิ่มเติมในการจัดเก็บข้อมูลเกี่ยวกับ (หนึ่ง) ครู (เช่นชื่อ, สำนักงาน, โทรศัพท์และอีเมล์) .
แต่เนื่องจากครูอาจสอนวิชาจำนวนมากข้อมูลจะถูกทำซ้ำในแถวจำนวนมากในชั้นเรียนตารางเพื่อสนับสนุนความสัมพันธ์แบบหนึ่งต่อหลายคนที่เราต้องออกแบบสองตาราง: ระดับชั้นตารางเพื่อเก็บข้อมูลเกี่ยวกับการเรียนที่มี classid เป็นคีย์หลัก; และครูผู้สอนในตารางเพื่อเก็บข้อมูลเกี่ยวกับครูที่มี teacherID เป็นคีย์หลัก จากนั้นเราจะสามารถสร้างความสัมพันธ์แบบหนึ่งต่อหลายคนโดยการจัดเก็บคีย์หลักของตารางครู (เช่น teacherID) (ที่ "หนึ่ง" -End หรือตารางแม่) ในตารางเรียน (ที่ "หลายคน" -End หรือ ตารางเด็ก) ดังแสดงด้านล่าง
การแปล กรุณารอสักครู่..

หนึ่งไปยังหลาย
ใน " บัญชีรายชื่อคลาสฐานข้อมูล ครูอาจสอนศูนย์หรือมากกว่าชั้น ในขณะที่ชั้นกำลังสอนโดยหนึ่ง ( และคนเดียว ) ครู ใน " ฐานข้อมูลบริษัท " ผู้จัดการจัดการศูนย์หรือมากกว่าพนักงาน ในขณะที่พนักงาน บริหารงานโดยหนึ่ง ( และคนเดียว ) ผู้จัดการ ในฐานข้อมูลการขายสินค้า ลูกค้าอาจสั่งซื้อมาก ในขณะที่วางใบสั่ง โดยเฉพาะลูกค้าความสัมพันธ์แบบนี้เป็นที่รู้จักกันเป็นหนึ่งใน มากมาย ที่ไม่สามารถความสัมพันธ์หลาย
แสดงในโต๊ะเดียว ตัวอย่างเช่นใน " บัญชีรายชื่อคลาสฐานข้อมูล เราอาจเริ่มต้นด้วยตารางเรียกว่าครู ซึ่งเก็บข้อมูลเกี่ยวกับครู ( เช่นชื่อ , สำนักงาน , โทรศัพท์และอีเมล์ ) เก็บคลาสที่สอนโดยครูแต่ละคน เราสามารถสร้างคอลัมน์ class1 class2 class3 , , ,แต่ประสบปัญหาทันทีเมื่อกี่คอลัมน์ที่จะสร้าง ในทางกลับกัน ถ้าเราเริ่มต้นด้วยตารางเรียกว่าชั้นเรียนซึ่งเก็บข้อมูลเกี่ยวกับชั้นเรียน ( coursecode dayofweek timestart , และ , timeend ) ; เราสามารถสร้างคอลัมน์เพิ่มเติมเพื่อเก็บข้อมูลเกี่ยวกับ ( 1 ) อาจารย์ ( เช่นชื่อ , สำนักงาน , โทรศัพท์และอีเมล์ ) อย่างไรก็ตาม เนื่องจากครูอาจสอนชั้นเรียนหลายข้อมูลจะถูกทำซ้ำในหลายแถวในชั้นเรียนตาราง
สนับสนุนหนึ่งความสัมพันธ์มากมาย เราต้องออกแบบตารางสองตาราง : โต๊ะเรียนเพื่อเก็บข้อมูลเกี่ยวกับวิชากับ classid เป็นคีย์หลัก และตารางครู เพื่อเก็บข้อมูลเกี่ยวกับครูกับ teacherid เป็นคีย์หลักเราสามารถสร้างหนึ่งความสัมพันธ์มากมาย โดยจัดเก็บคีย์หลักของตาราง ( เช่น ครู teacherid ) ( " หนึ่ง " - จบ หรือผู้ปกครองของเด็ก โต๊ะในโต๊ะเรียน ( " มาก " - จบหรือตารางเด็ก ) ดังภาพประกอบด้านล่าง .
การแปล กรุณารอสักครู่..
