"ฐานข้อมูล" คืออะไร?


14

มีการอภิปรายกันมากมายในคำถามนี้: เทคโนโลยีฐานข้อมูลใดที่เครื่องมือค้นหาขนาดใหญ่ใช้

การอภิปรายมากมายจนทำให้ฉันสับสน ดังนั้น ... ฐานข้อมูลคืออะไร เป็นเพียงฐานข้อมูลเชิงสัมพันธ์ "ฐานข้อมูล" หรือไม่? ฐานข้อมูลเชิงวัตถุเป็น "ฐานข้อมูล" หรือไม่? เป็นระบบที่อนุญาตให้ฉันจัดเก็บและดึงข้อมูล (เช่นแผนที่รายการ ฯลฯ ) เป็นฐานข้อมูลหรือไม่

หรือฐานข้อมูลจะต้องจัดเก็บ / ดึงข้อมูลและยังมีคุณสมบัติการบริหารบางอย่างเช่นผู้ใช้และสิทธิ์? dBase III บวกกับฐานข้อมูลเพราะมันไม่ใช่เชิงสัมพันธ์จริงเหรอ?


@ypercube: "ความสามารถในการเปิดและจัดการไฟล์หลายไฟล์ที่มีข้อมูลที่เกี่ยวข้องทำให้ Ashton-Tate ติดป้ายกำกับ dBase เป็น" ฐานข้อมูลเชิงสัมพันธ์ "แม้ว่าจะไม่ตรงตามเกณฑ์ที่กำหนดโดยโมเดลเชิงสัมพันธ์ของดร. เอ็ดการ์เอฟ Codd; ถูกเรียกว่าภาษาพัฒนาแอพพลิเคชั่นและระบบจัดการฐานข้อมูลการนำทางแบบบูรณาการซึ่งได้รับอิทธิพลจากแนวคิดเชิงสัมพันธ์ " จากwikipedia
woliveirajr

3
ฉันไม่เชื่อว่าฐานข้อมูลจะต้อง "จัดการ" เพื่อเป็นฐานข้อมูล
Aaron Bertrand

คำตอบ:


9

นี่เป็นคำถามที่ยอดเยี่ยมและชุดของคำตอบที่ดี ฉันคิดว่าสิ่งหนึ่งที่ขาดหายไปจากการอภิปรายคือคำตอบที่แยกแยะความแตกต่างระหว่างฐานข้อมูลและระบบการจัดการฐานข้อมูล (DBMS) ฉันชอบความหมายของฐานข้อมูลที่ Shark ให้มาจาก dictionary.com ฉันคิดว่ามันแสดงให้เห็นถึงความจำเป็นในการแยกความแตกต่างระหว่างฐานข้อมูลและ DBMS ฐานข้อมูลคือ "การรวบรวมข้อมูลที่เกี่ยวข้องอย่างครอบคลุมเพื่อการเข้าถึงที่สะดวก" ส่วนที่สองของคำจำกัดความซึ่งกล่าวว่า "โดยทั่วไปในคอมพิวเตอร์" คือความแตกต่าง ถ้ามันถูกเก็บไว้ในคอมพิวเตอร์มันอาจจะเก็บไว้ใน DBMS หรือไม่ก็ได้ มันอาจถูกเก็บไว้ในระบบไฟล์ระบบปฏิบัติการ มันอาจถูกเก็บไว้ในระบบไฟล์ที่เป็นกรรมสิทธิ์ ดังนั้นฉันเห็นด้วยกับ FrustratedWithFormsDesigner ว่าแคตตาล็อกบัตรเป็น "ฐานข้อมูล" (อาจจะ - มันครอบคลุมและเกี่ยวข้องหรือไม่เพิ่มเติมในภายหลัง) มันเพิ่งเกิดขึ้นที่จะถูกเก็บไว้ในตู้เก็บเอกสาร ในโลกทุกวันนี้ "คอลเลกชันที่ครอบคลุมที่สุดของข้อมูลที่เกี่ยวข้องซึ่งจัดขึ้นเพื่อการเข้าถึงที่สะดวกจะถูกเก็บไว้ในคอมพิวเตอร์ดังนั้นฉันไม่เห็นด้วยกับ Shark ว่าเป็น Dictionary.com ที่น่าเสียดายที่เพิ่มเข้ามา ฉันคิดว่ามันถูกต้องอย่างแน่นอน - เป็นคำจำกัดความของ "ฐานข้อมูล"

ดังนั้นเราจะกำหนด DBMS ได้อย่างไร ฉันกลับไปที่ dictionary.com และพบสิ่งนี้ :

"ชุดของโปรแกรมที่โดยทั่วไปจะจัดการชุดข้อมูลถาวรขนาดใหญ่ที่มีโครงสร้างให้สิ่งอำนวยความสะดวกแบบสอบถามเฉพาะกิจให้ผู้ใช้หลายคนพวกเขาใช้กันอย่างแพร่หลายในการใช้งานทางธุรกิจ"

คำจำกัดความยังคงดำเนินต่อไปและค่อนข้างยาว มันอธิบายคุณสมบัติทั่วไปที่จัดทำโดย DBMS เช่นความปลอดภัยความสมบูรณ์ของข้อมูลการจัดการธุรกรรมการควบคุมภาวะพร้อมกันและที่สำคัญที่สุดคือความเป็นอิสระของข้อมูล DBMS จัดเตรียมมุมมองภายนอกของข้อมูลที่สรุปจากวิธีการจัดเก็บข้อมูลทางกายภาพ

การใช้คำจำกัดความนี้ฉันคิดว่าเป็นที่ชัดเจนว่า DBMS ต้องจัดเตรียมแบบจำลองข้อมูลซึ่งเป็นวิธีการจัดระเบียบข้อมูลเพื่อนำเสนอให้กับผู้ใช้ โมเดลทั่วไปสามแบบคือลำดับชั้น (IMS), เครือข่าย (IDMS) และความสัมพันธ์ (DB2, Oracle, SQL-Server, ฯลฯ ) นอกจากนี้ยังมีรุ่น OO (OODBMS) เฉพาะโมเดลเชิงสัมพันธ์ในปัจจุบันเท่านั้นที่มีการบังคับใช้อย่างกว้างขวาง รุ่นอื่นยังคงใช้งานได้ แต่เฉพาะในสถานการณ์เฉพาะ DBMS จะต้องให้คุณสมบัติอื่น ๆ ที่กล่าวถึง ฉันจะอ้างถึงสิ่งเหล่านี้โดยรวมว่าเป็นคุณลักษณะหรือความสามารถในการจัดการข้อมูล

ดังนั้นผลิตภัณฑ์ซอฟต์แวร์ที่มีคุณสมบัติการจัดการข้อมูลคือ DBMS 'ในขณะที่ผลิตภัณฑ์ที่ไม่ได้ให้สิ่งเหล่านี้ไม่ใช่ DBMS' ผลิตภัณฑ์ NoSQL ไม่ใช่ DBMS ' นั่นคือไม่ได้ที่จะบอกว่าพวกเขาไม่ได้มีประโยชน์และไม่ได้เพื่อบอกว่าพวกเขาไม่ได้จัดเก็บ "ฐานข้อมูล" ฉันชอบคิดว่า DBMS 'ตามคำนิยามบอกว่าแก้ปัญหาที่เกี่ยวข้องกับแอปพลิเคชันทางธุรกิจเช่นบัญชี, เงินเดือน, การเรียกเก็บเงิน, การจัดการลูกค้าสัมพันธ์, การขาย ฯลฯ ผลิตภัณฑ์ NoSQL ในขณะที่ไม่ใช่ DBMS' เป็นเลิศสำหรับการแก้ ระดับของปัญหาที่ไม่เกี่ยวข้องกับแอปพลิเคชันทางธุรกิจแบบดั้งเดิม แต่ปัจจุบันมีอยู่เนื่องจากจำนวนมากของการจัดเก็บและเทคโนโลยีการคำนวณแบนด์วิดธ์ที่มีความสามารถในวันนี้ แอปพลิเคชั่นเหล่านี้เช่นการค้นหาทางอินเทอร์เน็ตเช่นการประมูลออนไลน์เช่น Twitter และ Facebook DBMS นั้นไม่เหมาะสมในการแก้ปัญหาเหล่านี้เนื่องจาก DBMS มีคุณสมบัติการจัดการข้อมูลซึ่งในขณะที่ความจำเป็นอย่างยิ่งสำหรับแอปพลิเคชันทางธุรกิจนั้นไม่มีประโยชน์สำหรับการแก้ปัญหาการจัดเก็บและเรียกค้นคืนของ Craig ' รายการโฆษณาหรือฟีด Twitter (โดยปกติแล้ว - นั่นคือการสนทนาอีกครั้งสำหรับเวลาอื่น :-)) ปัญหาเหล่านั้นต้องการการตอบรับที่รวดเร็วและการตอบสนองที่รวดเร็วและ DBMS ด้วยคุณสมบัติที่ขยายตัวออกไปนั้นไม่เหมาะสม

ผู้เชี่ยวชาญด้านข้อมูลจำเป็นต้องเข้าใจเครื่องมือเหล่านี้ทั้งหมดในการจัดเก็บข้อมูลและประเภทของปัญหาที่พวกเขาเหมาะสมในการแก้ปัญหาเพื่อเลือกเครื่องมือที่เหมาะสมสำหรับงานเช่นเดียวกับผู้รับเหมาทั่วไปต้องรู้ว่าเครื่องมือก่อสร้างของเขาหรือเธอคนใด เครื่องมือที่เหมาะสมสำหรับงาน ไม่มีเครื่องมือที่ดีหรือไม่ดีในตัวของมันเอง มันเป็นการดีถ้ามันเป็นแบบที่ดีในการแก้ปัญหาที่สำคัญ

ฉันจะสรุปโดยการสังเกตความแตกต่างที่สำคัญอีกสองข้อในนิยามของฐานข้อมูลและ DBMS ที่อาจถูกมองข้ามในการสนทนาในตอนนี้ คำจำกัดความของฐานข้อมูลรวมถึง " การรวบรวมข้อมูลที่เกี่ยวข้องอย่างครอบคลุม" คำจำกัดความของ DBMS รวมถึง "จัดการโครงสร้างที่มีขนาดใหญ่ควรใช้ MS Access หรือ DBMS เชิงสัมพันธ์อื่น ๆ ดังนั้นแคตตาล็อกการ์ดอาจไม่ใช่ฐานข้อมูลหลังจากนั้นทั้งหมด (มีบันทึกหนังสือทั้งหมดในห้องสมุด) ซึ่งไม่เกี่ยวข้องเนื่องจากมีเพียงข้อมูลเกี่ยวกับหนังสือเท่านั้นไม่ใช่ข้อมูลที่เกี่ยวข้องทั้งหมดเกี่ยวกับผู้แต่งผู้จัดพิมพ์ เป็นต้น

ประการที่สอง DBMS มีความสามารถในการจัดเก็บข้อมูล "ที่มีโครงสร้าง" มันขึ้นอยู่กับสคีมาที่กำหนดขององค์ประกอบข้อมูลที่ไม่ต่อเนื่องกับประเภทที่มีโครงสร้าง ผลิตภัณฑ์ NoSQL กล่าวว่าเป็นที่เก็บคีย์ซึ่งปราศจากสคีมาซึ่งเก่งในการจัดเก็บข้อมูลที่ไม่มีโครงสร้าง ดังนั้นผลิตภัณฑ์ NoSQL จึงไม่เป็นไปตามข้อกำหนดของ DBMS แต่ถ้าปัญหาที่คุณพยายามแก้ไขคือการจัดเก็บข้อมูลที่ไม่มีโครงสร้าง (สิ่งที่เราไม่ได้พยายามทำเมื่อพัฒนา DBMS เป็นครั้งแรก) และคุณไม่จำเป็นต้องใช้คุณสมบัติการจัดการข้อมูลโดยอิสระจากแอปพลิเคชันที่คุณจะเขียนถึง กระบวนการที่ไม่มีโครงสร้างข้อมูลผลิตภัณฑ์ NoSQL เป็นเครื่องมือที่สมบูรณ์แบบ

ฉันหวังว่าคำตอบนี้จะเพิ่มคุณค่าให้กับคำตอบที่ยอดเยี่ยมอื่น ๆ ที่โพสต์ที่นี่ ฉันหวังว่าจะมีความคิดเห็นและจุดอภิปรายใด ๆ ที่ใคร ๆ ก็มีซึ่งจะช่วยให้เราทุกคนขยายความเข้าใจของเราเกี่ยวกับฐานข้อมูลและคลาสของเทคโนโลยีที่ช่วยแก้ปัญหาข้อมูล


1
โพสต์ที่ดี ในรายการของ Craig ฉันคิดว่ามีหลายเลเยอร์ที่คุณควรพิจารณา การจัดเก็บและดึงข้อมูลไม่จำเป็นต้องเกิดขึ้นเหนือ DBMS โดยตรง คุณสามารถแยกแยะข้อมูลที่เก็บไว้ใน SQL Server โดยไม่ทำให้ SQL Server รับผิดชอบโดยตรงต่อการตอบสนองต่อการร้องขอของผู้ใช้ มีโซลูชันระดับกลางและการแคชข้อมูลทุกชนิดที่สามารถช่วยเหลือ DBMS โดยไม่จำเป็นต้องแทนที่ DBMS ในงานก่อนหน้านี้ในทันทีของฉันฉันใช้อินสแตนซ์ Express หลายสิบรายการบนเว็บเซิร์ฟเวอร์เพื่อลดการโหลดใน SQL Server หลัก - การพุชบ่อยครั้งมากกว่าการดึงทำงาน
Aaron Bertrand

ขอบคุณแอรอน ฉันไม่มีประสบการณ์กับแอปพลิเคชันนอกแอปพลิเคชันทางธุรกิจแบบดั้งเดิมที่แสดงให้เห็น ฉันเคยเห็นโพสต์สองสามตัวอย่างเช่นเบรนต์โอซาร์เกี่ยวกับโซลูชันการแคชข้อมูล แต่ไม่เคยเห็นการใช้งานมาก่อน ขอบคุณสำหรับตัวอย่างจากประสบการณ์ครั้งก่อน ฉันจะเพิ่มแนวคิดของการสร้างเลเยอร์เหนือ DBMS เพื่อเปิดใช้งานการขยายโดยไม่สูญเสียผลประโยชน์ของ DBMS ไปยังกล่องเครื่องมือ!
Todd Everett

ดังนั้น IMS DB คือ DBMS แต่ Cassandra ไม่ใช่ ขออภัยไม่เห็นด้วยอย่างสุภาพ
Michael Green

9

ฉันจะอ้างอิงDictionary.comเนื่องจากฉันใช้สิ่งนี้เป็นความหมายของฐานข้อมูล:

การรวบรวมข้อมูลที่เกี่ยวข้องอย่างครอบคลุมเพื่อการเข้าถึงที่สะดวกโดยทั่วไปในคอมพิวเตอร์

ภายใต้คำจำกัดความนี้คุณสามารถพิจารณาทุกอย่างเกี่ยวกับฐานข้อมูลจาก RDBMS แบบเต็ม (SQL Server, Oracle, ฯลฯ ) ไปจนถึงไฟล์แบบพื้นฐาน ถ้ามันเก็บข้อมูลมันจะถือว่าเป็นฐานข้อมูลทางเทคนิค

ตอนนี้เหมือนทุกอย่างในโลกสมัยใหม่ของเรามีความหมายที่ยอมรับได้ของชื่อ และในกรณีของฐานข้อมูลที่จะแตกต่างกันไปในแต่ละบุคคล หลายคนคิดว่าฐานข้อมูลเป็นนิติบุคคลที่จัดการโดยระบบข้อมูล

เป็นที่น่าสังเกต @ FrustratedWithFormsDesigner ความคิดเห็น:

การ์ดแคตตาล็อกจะนับหากคุณลบ "... โดยทั่วไปในคอมพิวเตอร์"

ฉันเห็นด้วยกับข้อความดังกล่าวและฉันไม่จำเป็นต้องคิดว่าฐานข้อมูลต้องอยู่ใน "คอมพิวเตอร์" หรืออุปกรณ์อิเล็กทรอนิกส์ใด ๆ แคตตาล็อกบัตรเป็นตัวอย่างที่สมบูรณ์แบบของฐานข้อมูลที่ไม่ใช่คอมพิวเตอร์


8

สำหรับฉันแล้วฐานข้อมูลเป็นสิ่งที่มีอยู่เพื่อจัดเก็บและดึงข้อมูล เราเรียกการเข้าถึงฐานข้อมูลถึงแม้ว่ามันจะเป็นส่วนหน้าของชุดไฟล์ Outlook (อย่างน้อยบน Mac) จะเรียกเก็บข้อความไว้ในฐานข้อมูล บางคนถึงกับเรียก Excel ว่าเป็นฐานข้อมูล (แต่นั่นทำให้ฉันรู้สึกแย่ - ดังนั้นจึงมีบางบรรทัด)

ฉันคิดว่าคำจำกัดความมีการเปลี่ยนแปลงตลอดเวลาและการเปรียบเทียบ dictionary.com กับ wiki กับเอกสารจากผู้เชี่ยวชาญด้านฐานข้อมูลที่หลากหลายในช่วง 30 ปีที่ผ่านมาจะให้คำจำกัดความที่หลากหลาย และคำจำกัดความจะยังคงพัฒนาต่อไปเช่นกัน

หากคุณกำลังพูดถึงแหล่งข้อมูลบางประเภทที่คุณหรือแอปพลิเคชันของคุณใช้ในการจัดเก็บหรือดึงข้อมูลไม่ว่าจะเป็นข้อมูลเชิงสัมพันธ์หรือไม่ฉันไม่มีปัญหากับการที่คุณเรียกมันว่าฐานข้อมูล หากเป็นไฟล์ข้อความคุณอาจมีขนคิ้วขึ้นมาบ้าง แต่ฉันไม่แน่ใจว่าฉันเข้าใจถึงความจำเป็นในการระบุคำจำกัดความในลักษณะที่แน่นอนที่ผู้คนจะโกรธมัน

บางคนมีความสวยที่เห็นได้ชัดถ้าคุณมาต่อพ่วงเพื่อแนะนำ BigTable (หรือ NoSQL หรือ hadoop) เป็น "ฐานข้อมูล" และอ้างว่าการเรียกมันว่าเป็นเช่นนั้นจะให้ - โดยเฉพาะอย่างยิ่งกับมือใหม่ - สัญญาที่ยอดเยี่ยม และยูนิคอร์น โดยปกติแล้วคุณแค่หมายถึงว่าเป็นสถานที่ที่จัดเก็บและเรียกใช้ข้อมูลโดยไม่มีการรับประกันใด ๆ เกี่ยวกับการใช้งานจริงไม่ว่าจะเป็นเชิงสัมพันธ์หรือไม่หรือว่าคุณสามารถสร้างสิ่งนี้เองเมื่อเบื่อในบ่ายวันอาทิตย์

ฉันจะยอมรับว่าฉันประจบประแจงเมื่อมีคนพูดถึงฐานข้อมูลเชิงสัมพันธ์และเรียกแถว "บันทึก" หรือคอลัมน์ "แถว แต่ในขณะที่มันทำให้ฉันโกรธฉันไม่โกรธหรือออกนอกเส้นทางของฉันเพื่อแก้ไขให้ถูกต้อง - ประเด็นคืออะไร? ฉันเข้าใจสิ่งที่พวกเขาหมายถึงแม้ว่าพวกเขาจะไม่ถูกต้อง 100%


5

มันเป็นเรื่องธรรมดามากเพียงแค่รวบรวมข้อมูลและโครงสร้าง ระบบสำหรับการจัดการฐานข้อมูลสามารถทำได้ง่ายเพียงแค่เป็นระบบไฟล์หรือซับซ้อนเช่นเดียวกับระบบรวมเช่น DNS

โดยทั่วไปแล้วในการใช้งานที่ทันสมัยเมื่อมีคนบอกว่าฐานข้อมูลคนหนึ่งบอกเป็นนัยทั้งที่จัดเก็บข้อมูลและโครงสร้างและระบบการจัดการฐานข้อมูลประกอบและเนื่องจากการทำงานเชิงทฤษฎีจำนวนมากได้ถูกสร้างขึ้นบนรากฐานของฐานข้อมูลเชิงสัมพันธ์ ที่บ่อยครั้งเมื่อมีคนบอกว่าฐานข้อมูลหนึ่งมักจะหมายถึงฐานข้อมูลเชิงสัมพันธ์

ด้วยการเพิ่มขึ้นของ NoSQL / ฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์คำฐานข้อมูลกลับคืนสู่ความเป็นทั่วไปมากขึ้นและมีความคลุมเครือมากขึ้นเนื่องจากรูปแบบที่ใช้ร่วมกันเพื่อทำความเข้าใจกับข้อมูลไม่สามารถคาดเดาได้

ก่อนที่จะมีพื้นฐานของทฤษฎีเชิงสัมพันธ์การสร้างแบบจำลองของข้อมูลในระบบอื่น ๆ จะแตกต่างกันไปในแต่ละระบบและไม่ได้มีหลักการที่ใช้ร่วมกันในรูปแบบเชิงสัมพันธ์ที่มี - ฐานข้อมูลชนิดอื่นเช่นฐานข้อมูลแบบลำดับชั้นและฐานข้อมูลเครือข่าย


2

ฉันทำงานกับ Ashton-Tate ในระหว่างการพัฒนา dBASE Direct / 36 และ dBASE IV โดยใช้ความรู้ dBASE III Plus ของฉันเพื่อเขียนโค้ดโปรแกรมขนาดเล็กเพื่อช่วยในการทดสอบ dBASE Direct / 36 (ส่วนต่อประสานกับ IBM System / 36 Mini Computer) เราต้องสร้างคำสั่ง binary load และ call ไปยังตาราง System / 36 SQL ซึ่งจำเป็นต้องพิมพ์คำสั่ง 'load' และ 'call' ซ้ำ ๆ กันในขณะที่เปลี่ยนชื่อตารางและชื่อฟิลด์เมื่อส่งเพื่อรับข้อมูลจากแต่ละระเบียนหรือ กลุ่มของหลายระเบียนขึ้นอยู่กับขอบเขตของแบบสอบถาม dBASE III Plus ภาษาการเขียนโปรแกรมฐานข้อมูลอนุญาตให้ฉันสร้าง 'dbldot.prg' ซึ่งเปลี่ยนจุดจุดเดียวเป็นจุดสองจุดตามที่ฉันออกแบบให้เป็นตัวบ่งชี้ว่าระบบอยู่ในโหมดการดึงข้อมูล SQL เช่นเดียวกับข้อความ ด้านล่างบรรทัดคำสั่งที่กล่าวว่า "

ย้อนกลับไปในเวลานั้น dBASE เป็นภาษาการเขียนโปรแกรมฐานข้อมูลหรือมากกว่านั้นอย่างแม่นยำภาษาโปรแกรมที่เปิดใช้งานการจัดการกับการบันทึกข้อมูล ระเบียนคือกลุ่มของเขตข้อมูลที่มีข้อมูลสำหรับแต่ละรายการเช่นบุคคล LAST_NAME, FIRST_NAME, ที่อยู่, เมือง, ST, ZIP, PLUS_FOUR, SSN เป็นต้นโครงสร้างเหล่านี้จะแสดงในตารางและจัดเรียงเป็นแถวและคอลัมน์ในภายหลัง แถวที่เป็นระเบียนเดี่ยวและคอลัมน์เป็นข้อมูลในชุดระเบียนสำหรับแต่ละชื่อเขตข้อมูล ด้วยวิธีนี้ผู้ใช้สามารถเรียงลำดับตามชื่อฟิลด์เพื่อเรียงลำดับและจัดกลุ่มระเบียนตามเขตข้อมูลทั่วไปเช่น CITY, ST, ZIP และอื่น ๆ

ภาษา dBASE อนุญาตให้ผู้ใช้หรือโปรแกรมเมอร์จัดการข้อมูลดำเนินการเรียงลำดับแสดงตารางบันทึกและทำการคำนวณ (Y2K อยู่ไกล แต่วันที่จะต้องถูกแปลงเป็น YYYYMMDD เพื่อเรียงลำดับข้อมูล MM-DD-YYYYY ที่ป้อน ซึ่งสามารถทำได้ด้วย DtoC และ CtoD (Date to Character, Character to Date)) หากไม่มีภาษา dBASE ไฟล์ข้อมูลจะเป็นชุดระเบียน (แถว) ที่มีเขตข้อมูลทั่วไป (คอลัมน์)

ฐานข้อมูลเชิงสัมพันธ์ - นั่นเป็นคำที่ใช้ในการอ้างอิงข้ามมากกว่าหนึ่งฐานข้อมูล (ตาราง) กับอีกที่มีข้อมูลที่แตกต่างกัน แต่มีหนึ่งหรือมากกว่าหนึ่งเขตข้อมูลทั่วไป ตัวอย่างเช่นฐานข้อมูลชื่อ "ที่อยู่" มี "LNAME" "FNAME" "ADDRESS," "CITY," "ST," "ZIP," "SSN" ฐานข้อมูลอื่นที่ชื่อว่า "CHECKING," มี "ACCOUNT_NO," "ROUTING_NO," "CUSTLAST," "CUSTFIRST," "DOB," "SSNO," "CUST_NO" แม้ว่าชื่อฟิลด์จะแตกต่างกัน แต่หลายชื่อก็มีข้อมูลเดียวกันที่สามารถเชื่อมโยงซึ่งกันและกันเพื่อผูกข้อมูลจากฐานข้อมูลหนึ่งที่ผู้อื่นพูดส่งคำสั่งไปยังลูกค้าธนาคาร ใช้ฟิลด์ชื่อและนามสกุลและหมายเลข SS เพื่อเชื่อมโยงข้อมูลดึงที่อยู่ของลูกค้าจากฐานข้อมูลหนึ่งและข้อมูลบัญชีที่จะวางลงในคำสั่งจากที่อื่น จากนั้นในระดับที่มากขึ้นฟังก์ชั่นจดหมายเวียนสามารถใช้แทนการดำเนินการเหล่านี้กับลูกค้าแต่ละรายในฐานข้อมูล ADDRESS ดึงข้อมูลบัญชีที่เกี่ยวข้องของลูกค้าแต่ละรายปรับคำสั่งพิมพ์และจัดการแต่ละรายการก่อนที่จะย้ายไปยัง บันทึกหรือลูกค้าในฐานข้อมูล

ดังนั้นสิ่งที่ต้องการเช่น MS ACCESS อาจเป็น DBMS มากกว่า แต่ในระดับพื้นฐาน dBASE เป็นภาษาที่ใช้สร้างส่วนต่อประสานกับผู้ใช้ของ Front-end และดำเนินการจัดการข้อมูลทั้งหมดระหว่างฐานข้อมูลเพื่อสร้างความสัมพันธ์ระหว่างพวกเขาและส่งคืนข้อมูลที่ได้ เราเป็นเพียงมนุษย์ที่จะใช้

มีการเปลี่ยนแปลงมากมายตั้งแต่นั้นมา แต่รากฐานยังคงเหมือนเดิม ข้อมูลยังคงอยู่ในบันทึกที่มีชุดข้อมูลของชุดข้อมูลหลากหลายประเภทและจะต้องมีการอ้างอิงข้ามและผสานกับฐานข้อมูลอื่น ๆ โดยใช้จุดข้อมูลทั่วไปหนึ่งจุดหรือมากกว่าทำให้เราสามารถใช้บัตรเครดิตตั้งค่าบัญชีบนเว็บ ใช้ Google, Facebook, Twitter ID ของเราติดตามประวัติการซื้อของเราและอื่น ๆ ชีวิตของเราเป็นเพียงชุดของฐานข้อมูลเชิงสัมพันธ์ที่ซ้อนทับกันมากมายซึ่งเราสำรวจทุกวันโดยไม่คิดถึงบิตและไบต์ทั้งหมดที่โต้ตอบกันเพื่อให้เรามีความสุขและวิวัฒนาการอย่างง่ายดายในชีวิตของเราในปัจจุบัน

ที่สัญญาเช่านั่นเป็นวิธีที่ฉันเข้าใจเสมอว่าการทดสอบซอฟต์แวร์และฮาร์ดแวร์หลายปีที่เริ่มต้นด้วย dBASE II ย้อนกลับไปในปี 1984


2

กระดาษน้ำเชื้อของ Codd ชื่อว่ารูปแบบความสัมพันธ์ของข้อมูลขนาดใหญ่ธนาคารข้อมูลที่ใช้ร่วมกัน สิ่งที่เขาเรียกว่า "data bank" เราจะเรียกฐานข้อมูล

อย่างไรก็ตามฉันชอบภาพของเขา มันหมายถึงสถานที่ที่สามารถใส่ข้อมูลโดยรู้ว่ามันจะถูกเก็บไว้อย่างปลอดภัยคิดเป็นสัดส่วนอย่างเหมาะสมและให้กลับไปยังผู้ที่สามารถแสดงว่าพวกเขามีอำนาจในการเข้าถึง หากสาขาของเราถูกปล้นเรามีความมั่นใจว่า บริษัท ธนาคารมีการสำรองข้อมูลอย่างเพียงพอเพื่อให้แน่ใจว่าทรัพยากรอันมีค่าของเราจะไม่สูญหายไปอย่างถาวร


1

จากพื้นฐานการออกแบบฐานข้อมูล 7th Ed. (pg 5)

ฐานข้อมูลคือการเก็บรวบรวมข้อมูลที่เกี่ยวข้อง

พวกเขากล่าวต่อไปว่าการใช้งานทั่วไปนั้นถูก จำกัด มากขึ้น

ฐานข้อมูลมีคุณสมบัติโดยนัยดังต่อไปนี้:

  • ฐานข้อมูลแสดงถึงบางแง่มุมของโลกแห่งความเป็นจริงบางครั้งเรียกว่า miniworld หรือจักรวาลของวาทกรรม (UoD) การเปลี่ยนแปลงของ miniworld นั้นจะปรากฏในฐานข้อมูล
  • ฐานข้อมูลเป็นการรวบรวมข้อมูลที่สอดคล้องกันอย่างมีเหตุมีผลซึ่งมีความหมายบางอย่าง การแบ่งประเภทข้อมูลแบบสุ่มไม่สามารถเรียกได้ว่าเป็นฐานข้อมูลอย่างถูกต้อง
  • ฐานข้อมูลได้รับการออกแบบสร้างและบรรจุด้วยข้อมูลเพื่อวัตถุประสงค์เฉพาะมีกลุ่มผู้ใช้ที่ตั้งใจและบางแอพพลิเคชั่นที่ได้รับการสนใจซึ่งผู้ใช้เหล่านี้สนใจ

ไม่มีคำจำกัดความใด ๆ ว่าเป็นฐานข้อมูล "เชิงสัมพันธ์" อย่างชัดเจนในทุกแง่มุมอย่างไรก็ตามบ่อยครั้งที่มีการสันนิษฐานว่าเป็นเพราะอุตสาหกรรมนั้นอิ่มตัวด้วย DBA ประเภทเฉพาะหนึ่งประเภทและเนื้อหาซอฟต์แวร์ DBMS ที่ทันสมัยที่สุดนั้นสัมพันธ์ จากพจนานุกรมฐานข้อมูลเชิงสัมพันธ์

อย่างเคร่งครัดค่าฐานข้อมูล qv; โดยเฉพาะอย่างยิ่งในพจนานุกรมนี้โดยเฉพาะเพื่ออ้างถึงสิ่งที่เรียกว่าตัวแปรฐานข้อมูลอย่างแม่นยำยิ่งขึ้น qv เราถือว่าตลอดทั้งพจนานุกรมนี้ว่าฐานข้อมูลมีความสัมพันธ์กันอยู่เสมอยกเว้นข้อความที่ชัดเจน หมายเหตุ: ฐานข้อมูลคำนี้ยังใช้ในบริบทที่ไม่เกี่ยวข้องเพื่อหมายถึงความหลากหลายของสิ่งอื่น: ตัวอย่างเช่นการรวบรวมข้อมูลที่จัดเก็บทางกายภาพ มันถูกใช้บ่อยเกินไปเพื่อหมายถึง DBMS แต่การใช้งานเฉพาะนี้ถูกคัดค้านอย่างมาก (ถ้าเราเรียกฐานข้อมูล DBMS เราจะเรียกฐานข้อมูลอะไร)

จุดสุดท้ายนั้นค่อนข้างสำคัญและฉันก็ชอบความแตกต่างระหว่าง DBMS / RDBMS และฐานข้อมูลเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.