SlideShare a Scribd company logo
Relational Database Principles
for Non-IT People
A Grumpy Old Marketer
October 2014
Relational Database Principles
• What is a relational database?
• The First and Second Commandments
• What all this means
What Is a Relational Database?
• At the most basic level, most of the critical
information that we use in our IT systems consists of
entities and information about them
• It is useful to think about information as tables, in
which each row is an entity, and each column or
“field” provides information about that entity. The
example below is an imaginary list of employees:
First name Last name Employee ID Department etc.
Annie Oakley 340955 Collections etc.
Noam Chomsky 409102 Graphic Arts etc.
etc. etc. etc. etc. etc.
What Is a Relational Database?
• But in any real world situation, some of the columns/
fields in such a table are actually references to a
different kind of entity:
First name Last name Employee ID Department etc.
Annie Oakley 340955 Collections etc.
Noam Chomsky 409102 Graphic Arts etc.
etc. etc. etc. etc. etc.
Each employee has a
unique ID, and may have
a unique name…
… but each employee does not have a
unique department. Departments are a
different kind of entity, and there are far
fewer departments than employees.
What Is a Relational Database?
• Suppose that there are 500 employees, and 10 departments.
If the Department field is simply a text field into which
someone types or copies the department name, then each
department name must be re-entered an average of 50 times.
This wastes time and allows errors:
First name Last name Employee ID Department etc.
Annie Oakley 340955 Collections etc.
Noam Chomsky 409102 Graphic Arts etc.
Marvin Hagler 268003 Bill collection etc.
William Cody 550254 Graphic Rats etc.
Walt Disney 027851 Bill collecting etc.
In fact, these five employees belong to only two departments.
What Is a Relational Database?
• Relational database management systems (RDBMS) achieve vast
improvements in efficiency and data accuracy by linking each such field
to a separate table which describes that kind of entity:
First name Last name Employee ID Department ID etc.
Annie Oakley 340955 6 etc.
Noam Chomsky 409102 9 etc.
Marvin Hagler 268003 6 etc.
William Cody 550254 9 etc.
Walt Disney 027851 6 etc.
Department ID Department name Department VP emp ID etc.
6 Collections 711203 etc.
9 Graphic Arts 488030 etc.
• An RDBMS reduces data entry work enormously
– In the example on the previous two slides, 500 department name
entries must be copied or typed if an RDBMS is not used
– If an RDBMS is used, only 10 department name entries are needed.
When data is entered in the Employee table, the system presents the
user with a list of departments for the Department field, and the user
selects rather than typing or pasting.
• An RDBMS eliminates a huge number of
opportunities for error
– The system presents a list of selections for any linked field, rather than
requiring someone to type or paste accurately. The only possible error
is an incorrect selection, which is far less likely than a spelling or
pasting error.
• As the size and complexity of a dataset increases, the
benefits of an RDBMS increase in proportion
• The benefits of an RDBMS are even greater when
attributes that belong in linked tables are taken into
account.
– Suppose that each department has its own cost centre code, and
that we want to see which cost centre each employee belongs to
First name Last name Employee ID Department Cost centre
Annie Oakley 340955 Collections 7684
Noam Chomsky 409102 Graphic Arts 2417
etc. etc. etc. etc. etc.
– Because the cost centre code is determined by which department the
employee is in, we do not need to enter this information in the table
of employees at all. The information should be set up as shown on
the next slide:
First name Last name Employee ID Department ID etc.
Annie Oakley 340955 6 etc.
Noam Chomsky 409102 9 etc.
Marvin Hagler 268003 6 etc.
William Cody 550254 9 etc.
Walt Disney 027851 6 etc.
Department
ID
Department
name
Department
VP emp ID
Department
cost centre
etc.
6 Collections 711203 7684 etc.
9 Graphic Arts 488030 2417 etc.
After the correct department has been selected for each employee record,
the linkage between the Department ID fields (the “lookup fields”)
guarantees that the cost centre code, and every other correct datum in the
Department table, will be correct for every employee.
These benefits are the reason for the
First Commandment of RDBMS:
Store each data item only once!
Let’s take another look at our example
First name Last name Employee ID Department ID etc.
Annie Oakley 340955 6 etc.
Noam Chomsky 409102 9 etc.
Marvin Hagler 268003 6 etc.
William Cody 550254 9 etc.
Walt Disney 027851 6 etc.
Department ID Department name Department VP emp ID etc.
6 Collections 711203 etc.
9 Graphic Arts 488030 etc.
Why don’t we just make the user select the department name, and store
the department name in this field? Then the system could look up the
department by name, and we wouldn’t need the Department ID field at all.
Because information changes!
• Suppose that:
– The responsibilities of the Graphic Arts department are expanded,
and it becomes Design and Animation.
– The Collections department is renamed Revenue Assurance.
• What happens when department names are
used in the lookup fields instead of IDs?
– If names are used, we must update the Department Name field in the
table of departments, and we must also update the Department
Name field for each and every employee in that department.
– If IDs are used, we update the Department Name field in the table of
departments. AND WE’RE DONE.
• If we store meaningful information (e.g., names) in the
lookup fields, data maintenance is hundreds of times harder.
The need to maintain data efficiently is the
reason for the Second Commandment of RDBMS:
NEVER put meaning in your
key (lookup field) values!
What All This Means
• If the information you are handling is
inherently relational (which it almost always
is), you cannot afford the wasted effort and
errors that result from NOT using an RDBMS.
• Your RDBMS must obey the commandments:
– Store each data item only once.
– Never put meaning in your key values.
If you do not use an RDBMS that follows the
commandments, your data will go to Hell and
will take your business with it.
Da ogni bocca
dirompea co’ denti
un peccatore, a
guisa di maciulla,
sì che tre ne facea
così dolenti

More Related Content

What's hot

Chapter 6 relational data model and relational
Chapter  6  relational data model and relationalChapter  6  relational data model and relational
Chapter 6 relational data model and relational
Jafar Nesargi
 
Chapter 6 relational data model and relational
Chapter  6  relational data model and relationalChapter  6  relational data model and relational
Chapter 6 relational data model and relational
Jafar Nesargi
 
Chapter 2 Relational Data Model-part 2
Chapter 2 Relational Data Model-part 2Chapter 2 Relational Data Model-part 2
Chapter 2 Relational Data Model-part 2
Eddyzulham Mahluzydde
 
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
Raj vardhan
 
3. Relational Models in DBMS
3. Relational Models in DBMS3. Relational Models in DBMS
3. Relational Models in DBMS
koolkampus
 
Database Design and Normalization Techniques
Database Design and Normalization TechniquesDatabase Design and Normalization Techniques
Database Design and Normalization Techniques
Nishant Munjal
 
5. Other Relational Languages in DBMS
5. Other Relational Languages in DBMS5. Other Relational Languages in DBMS
5. Other Relational Languages in DBMS
koolkampus
 
Dbms ii mca-ch4-relational model-2013
Dbms ii mca-ch4-relational model-2013Dbms ii mca-ch4-relational model-2013
Dbms ii mca-ch4-relational model-2013
Prosanta Ghosh
 
The Relational Data Model and Relational Database Constraints
The Relational Data Model and Relational Database ConstraintsThe Relational Data Model and Relational Database Constraints
The Relational Data Model and Relational Database Constraints
sontumax
 
Sm relationaldatamodel-150423084157-conversion-gate01
Sm relationaldatamodel-150423084157-conversion-gate01Sm relationaldatamodel-150423084157-conversion-gate01
Sm relationaldatamodel-150423084157-conversion-gate01
Ankit Dubey
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraints
Kumar
 
ch6
ch6ch6
Relational Data Model Introduction
Relational Data Model IntroductionRelational Data Model Introduction
Relational Data Model Introduction
Nishant Munjal
 
Chapter 7 relation database language
Chapter 7 relation database languageChapter 7 relation database language
Chapter 7 relation database language
Jafar Nesargi
 
Lecture 07 relational database management system
Lecture 07 relational database management systemLecture 07 relational database management system
Lecture 07 relational database management system
emailharmeet
 
DEE 431 Database keys and Normalisation Slide 2
DEE 431 Database keys and Normalisation Slide 2DEE 431 Database keys and Normalisation Slide 2
DEE 431 Database keys and Normalisation Slide 2
YOGESH SINGH
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
Nazir Ahmed
 
Relational model
Relational modelRelational model
Relational model
WBUTTUTORIALS
 
Relational database
Relational  databaseRelational  database
Relational database
amkrisha
 
Database Assignment
Database AssignmentDatabase Assignment
Database Assignment
Jayed Imran
 

What's hot (20)

Chapter 6 relational data model and relational
Chapter  6  relational data model and relationalChapter  6  relational data model and relational
Chapter 6 relational data model and relational
 
Chapter 6 relational data model and relational
Chapter  6  relational data model and relationalChapter  6  relational data model and relational
Chapter 6 relational data model and relational
 
Chapter 2 Relational Data Model-part 2
Chapter 2 Relational Data Model-part 2Chapter 2 Relational Data Model-part 2
Chapter 2 Relational Data Model-part 2
 
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
 
3. Relational Models in DBMS
3. Relational Models in DBMS3. Relational Models in DBMS
3. Relational Models in DBMS
 
Database Design and Normalization Techniques
Database Design and Normalization TechniquesDatabase Design and Normalization Techniques
Database Design and Normalization Techniques
 
5. Other Relational Languages in DBMS
5. Other Relational Languages in DBMS5. Other Relational Languages in DBMS
5. Other Relational Languages in DBMS
 
Dbms ii mca-ch4-relational model-2013
Dbms ii mca-ch4-relational model-2013Dbms ii mca-ch4-relational model-2013
Dbms ii mca-ch4-relational model-2013
 
The Relational Data Model and Relational Database Constraints
The Relational Data Model and Relational Database ConstraintsThe Relational Data Model and Relational Database Constraints
The Relational Data Model and Relational Database Constraints
 
Sm relationaldatamodel-150423084157-conversion-gate01
Sm relationaldatamodel-150423084157-conversion-gate01Sm relationaldatamodel-150423084157-conversion-gate01
Sm relationaldatamodel-150423084157-conversion-gate01
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraints
 
ch6
ch6ch6
ch6
 
Relational Data Model Introduction
Relational Data Model IntroductionRelational Data Model Introduction
Relational Data Model Introduction
 
Chapter 7 relation database language
Chapter 7 relation database languageChapter 7 relation database language
Chapter 7 relation database language
 
Lecture 07 relational database management system
Lecture 07 relational database management systemLecture 07 relational database management system
Lecture 07 relational database management system
 
DEE 431 Database keys and Normalisation Slide 2
DEE 431 Database keys and Normalisation Slide 2DEE 431 Database keys and Normalisation Slide 2
DEE 431 Database keys and Normalisation Slide 2
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Relational model
Relational modelRelational model
Relational model
 
Relational database
Relational  databaseRelational  database
Relational database
 
Database Assignment
Database AssignmentDatabase Assignment
Database Assignment
 

Similar to Relational database intro for marketers

Topics-Ch4Ch5.ppt
Topics-Ch4Ch5.pptTopics-Ch4Ch5.ppt
Topics-Ch4Ch5.ppt
ahmadfaisal744721
 
Topics-Ch4Ch5.ppt
Topics-Ch4Ch5.pptTopics-Ch4Ch5.ppt
Topics-Ch4Ch5.ppt
ahmadfaisal744721
 
IST365 - Project Deliverable #3Create the corresponding relation.docx
IST365 - Project Deliverable #3Create the corresponding relation.docxIST365 - Project Deliverable #3Create the corresponding relation.docx
IST365 - Project Deliverable #3Create the corresponding relation.docx
priestmanmable
 
Design your own database
Design your own databaseDesign your own database
Design your own database
Frank Katta
 
Sql Lab 4 Essay
Sql Lab 4 EssaySql Lab 4 Essay
Sql Lab 4 Essay
Lorie Harris
 
Aen007 Kenigsberg 091807
Aen007 Kenigsberg 091807Aen007 Kenigsberg 091807
Aen007 Kenigsberg 091807
Dreamforce07
 
Bt0066, database management systems
Bt0066, database management systemsBt0066, database management systems
Bt0066, database management systems
smumbahelp
 
SQL.pptx
SQL.pptxSQL.pptx
SQL.pptx
AmitDas125851
 
Sql Server 2000
Sql Server 2000Sql Server 2000
Sql Server 2000
Om Vikram Thapa
 
Databases
DatabasesDatabases
Databases
odalyfer
 
Mi0034 –database management systems
Mi0034 –database management systemsMi0034 –database management systems
Mi0034 –database management systems
smumbahelp
 
Steps towards of sql server developer
Steps towards of sql server developerSteps towards of sql server developer
Steps towards of sql server developer
Ahsan Kabir
 
DataModeling.pptx
DataModeling.pptxDataModeling.pptx
DataModeling.pptx
GauravGarg215333
 
Recipes 10 of Data Warehouse and Business Intelligence - The descriptions man...
Recipes 10 of Data Warehouse and Business Intelligence - The descriptions man...Recipes 10 of Data Warehouse and Business Intelligence - The descriptions man...
Recipes 10 of Data Warehouse and Business Intelligence - The descriptions man...
Massimo Cenci
 
Lecture 4-Prepare data-Clean, transform, and load data in Power BI.pptx
Lecture 4-Prepare data-Clean, transform, and load data in Power BI.pptxLecture 4-Prepare data-Clean, transform, and load data in Power BI.pptx
Lecture 4-Prepare data-Clean, transform, and load data in Power BI.pptx
edieali1
 
Mi0034 database management systems
Mi0034  database management systemsMi0034  database management systems
Mi0034 database management systems
smumbahelp
 
Sql notes, sql server,sql queries,introduction of SQL, Beginner in SQL
Sql notes, sql server,sql queries,introduction of SQL, Beginner in SQLSql notes, sql server,sql queries,introduction of SQL, Beginner in SQL
Sql notes, sql server,sql queries,introduction of SQL, Beginner in SQL
Prashant Kumar
 
Coit11237 assignment 2 specifications
Coit11237 assignment 2 specificationsCoit11237 assignment 2 specifications
Coit11237 assignment 2 specifications
Nicole Valerio
 
IT6701-Information Management Unit 1
IT6701-Information Management Unit 1IT6701-Information Management Unit 1
IT6701-Information Management Unit 1
SIMONTHOMAS S
 
Yelp Project Report
Yelp Project ReportYelp Project Report
Yelp Project Report
Mihir Bhatt
 

Similar to Relational database intro for marketers (20)

Topics-Ch4Ch5.ppt
Topics-Ch4Ch5.pptTopics-Ch4Ch5.ppt
Topics-Ch4Ch5.ppt
 
Topics-Ch4Ch5.ppt
Topics-Ch4Ch5.pptTopics-Ch4Ch5.ppt
Topics-Ch4Ch5.ppt
 
IST365 - Project Deliverable #3Create the corresponding relation.docx
IST365 - Project Deliverable #3Create the corresponding relation.docxIST365 - Project Deliverable #3Create the corresponding relation.docx
IST365 - Project Deliverable #3Create the corresponding relation.docx
 
Design your own database
Design your own databaseDesign your own database
Design your own database
 
Sql Lab 4 Essay
Sql Lab 4 EssaySql Lab 4 Essay
Sql Lab 4 Essay
 
Aen007 Kenigsberg 091807
Aen007 Kenigsberg 091807Aen007 Kenigsberg 091807
Aen007 Kenigsberg 091807
 
Bt0066, database management systems
Bt0066, database management systemsBt0066, database management systems
Bt0066, database management systems
 
SQL.pptx
SQL.pptxSQL.pptx
SQL.pptx
 
Sql Server 2000
Sql Server 2000Sql Server 2000
Sql Server 2000
 
Databases
DatabasesDatabases
Databases
 
Mi0034 –database management systems
Mi0034 –database management systemsMi0034 –database management systems
Mi0034 –database management systems
 
Steps towards of sql server developer
Steps towards of sql server developerSteps towards of sql server developer
Steps towards of sql server developer
 
DataModeling.pptx
DataModeling.pptxDataModeling.pptx
DataModeling.pptx
 
Recipes 10 of Data Warehouse and Business Intelligence - The descriptions man...
Recipes 10 of Data Warehouse and Business Intelligence - The descriptions man...Recipes 10 of Data Warehouse and Business Intelligence - The descriptions man...
Recipes 10 of Data Warehouse and Business Intelligence - The descriptions man...
 
Lecture 4-Prepare data-Clean, transform, and load data in Power BI.pptx
Lecture 4-Prepare data-Clean, transform, and load data in Power BI.pptxLecture 4-Prepare data-Clean, transform, and load data in Power BI.pptx
Lecture 4-Prepare data-Clean, transform, and load data in Power BI.pptx
 
Mi0034 database management systems
Mi0034  database management systemsMi0034  database management systems
Mi0034 database management systems
 
Sql notes, sql server,sql queries,introduction of SQL, Beginner in SQL
Sql notes, sql server,sql queries,introduction of SQL, Beginner in SQLSql notes, sql server,sql queries,introduction of SQL, Beginner in SQL
Sql notes, sql server,sql queries,introduction of SQL, Beginner in SQL
 
Coit11237 assignment 2 specifications
Coit11237 assignment 2 specificationsCoit11237 assignment 2 specifications
Coit11237 assignment 2 specifications
 
IT6701-Information Management Unit 1
IT6701-Information Management Unit 1IT6701-Information Management Unit 1
IT6701-Information Management Unit 1
 
Yelp Project Report
Yelp Project ReportYelp Project Report
Yelp Project Report
 

Recently uploaded

一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
eudsoh
 
06-18-2024-Princeton Meetup-Introduction to Milvus
06-18-2024-Princeton Meetup-Introduction to Milvus06-18-2024-Princeton Meetup-Introduction to Milvus
06-18-2024-Princeton Meetup-Introduction to Milvus
Timothy Spann
 
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
eoxhsaa
 
How To Control IO Usage using Resource Manager
How To Control IO Usage using Resource ManagerHow To Control IO Usage using Resource Manager
How To Control IO Usage using Resource Manager
Alireza Kamrani
 
一比一原版悉尼大学毕业证如何办理
一比一原版悉尼大学毕业证如何办理一比一原版悉尼大学毕业证如何办理
一比一原版悉尼大学毕业证如何办理
keesa2
 
Sample Devops SRE Product Companies .pdf
Sample Devops SRE  Product Companies .pdfSample Devops SRE  Product Companies .pdf
Sample Devops SRE Product Companies .pdf
Vineet
 
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
hqfek
 
06-20-2024-AI Camp Meetup-Unstructured Data and Vector Databases
06-20-2024-AI Camp Meetup-Unstructured Data and Vector Databases06-20-2024-AI Camp Meetup-Unstructured Data and Vector Databases
06-20-2024-AI Camp Meetup-Unstructured Data and Vector Databases
Timothy Spann
 
一比一原版南昆士兰大学毕业证如何办理
一比一原版南昆士兰大学毕业证如何办理一比一原版南昆士兰大学毕业证如何办理
一比一原版南昆士兰大学毕业证如何办理
ugydym
 
Bangalore ℂall Girl 000000 Bangalore Escorts Service
Bangalore ℂall Girl 000000 Bangalore Escorts ServiceBangalore ℂall Girl 000000 Bangalore Escorts Service
Bangalore ℂall Girl 000000 Bangalore Escorts Service
nhero3888
 
一比一原版加拿大麦吉尔大学毕业证(mcgill毕业证书)如何办理
一比一原版加拿大麦吉尔大学毕业证(mcgill毕业证书)如何办理一比一原版加拿大麦吉尔大学毕业证(mcgill毕业证书)如何办理
一比一原版加拿大麦吉尔大学毕业证(mcgill毕业证书)如何办理
agdhot
 
一比一原版卡尔加里大学毕业证(uc毕业证)如何办理
一比一原版卡尔加里大学毕业证(uc毕业证)如何办理一比一原版卡尔加里大学毕业证(uc毕业证)如何办理
一比一原版卡尔加里大学毕业证(uc毕业证)如何办理
oaxefes
 
SAP BW4HANA Implementagtion Content Document
SAP BW4HANA Implementagtion Content DocumentSAP BW4HANA Implementagtion Content Document
SAP BW4HANA Implementagtion Content Document
newdirectionconsulta
 
一比一原版(uom毕业证书)曼彻斯特大学毕业证如何办理
一比一原版(uom毕业证书)曼彻斯特大学毕业证如何办理一比一原版(uom毕业证书)曼彻斯特大学毕业证如何办理
一比一原版(uom毕业证书)曼彻斯特大学毕业证如何办理
osoyvvf
 
一比一原版莱斯大学毕业证(rice毕业证)如何办理
一比一原版莱斯大学毕业证(rice毕业证)如何办理一比一原版莱斯大学毕业证(rice毕业证)如何办理
一比一原版莱斯大学毕业证(rice毕业证)如何办理
zsafxbf
 
Discovering Digital Process Twins for What-if Analysis: a Process Mining Appr...
Discovering Digital Process Twins for What-if Analysis: a Process Mining Appr...Discovering Digital Process Twins for What-if Analysis: a Process Mining Appr...
Discovering Digital Process Twins for What-if Analysis: a Process Mining Appr...
Marlon Dumas
 
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
9gr6pty
 
A gentle exploration of Retrieval Augmented Generation
A gentle exploration of Retrieval Augmented GenerationA gentle exploration of Retrieval Augmented Generation
A gentle exploration of Retrieval Augmented Generation
dataschool1
 
一比一原版(UofT毕业证)多伦多大学毕业证如何办理
一比一原版(UofT毕业证)多伦多大学毕业证如何办理一比一原版(UofT毕业证)多伦多大学毕业证如何办理
一比一原版(UofT毕业证)多伦多大学毕业证如何办理
exukyp
 
Drownings spike from May to August in children
Drownings spike from May to August in childrenDrownings spike from May to August in children
Drownings spike from May to August in children
Bisnar Chase Personal Injury Attorneys
 

Recently uploaded (20)

一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
 
06-18-2024-Princeton Meetup-Introduction to Milvus
06-18-2024-Princeton Meetup-Introduction to Milvus06-18-2024-Princeton Meetup-Introduction to Milvus
06-18-2024-Princeton Meetup-Introduction to Milvus
 
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
一比一原版多伦多大学毕业证(UofT毕业证书)学历如何办理
 
How To Control IO Usage using Resource Manager
How To Control IO Usage using Resource ManagerHow To Control IO Usage using Resource Manager
How To Control IO Usage using Resource Manager
 
一比一原版悉尼大学毕业证如何办理
一比一原版悉尼大学毕业证如何办理一比一原版悉尼大学毕业证如何办理
一比一原版悉尼大学毕业证如何办理
 
Sample Devops SRE Product Companies .pdf
Sample Devops SRE  Product Companies .pdfSample Devops SRE  Product Companies .pdf
Sample Devops SRE Product Companies .pdf
 
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
 
06-20-2024-AI Camp Meetup-Unstructured Data and Vector Databases
06-20-2024-AI Camp Meetup-Unstructured Data and Vector Databases06-20-2024-AI Camp Meetup-Unstructured Data and Vector Databases
06-20-2024-AI Camp Meetup-Unstructured Data and Vector Databases
 
一比一原版南昆士兰大学毕业证如何办理
一比一原版南昆士兰大学毕业证如何办理一比一原版南昆士兰大学毕业证如何办理
一比一原版南昆士兰大学毕业证如何办理
 
Bangalore ℂall Girl 000000 Bangalore Escorts Service
Bangalore ℂall Girl 000000 Bangalore Escorts ServiceBangalore ℂall Girl 000000 Bangalore Escorts Service
Bangalore ℂall Girl 000000 Bangalore Escorts Service
 
一比一原版加拿大麦吉尔大学毕业证(mcgill毕业证书)如何办理
一比一原版加拿大麦吉尔大学毕业证(mcgill毕业证书)如何办理一比一原版加拿大麦吉尔大学毕业证(mcgill毕业证书)如何办理
一比一原版加拿大麦吉尔大学毕业证(mcgill毕业证书)如何办理
 
一比一原版卡尔加里大学毕业证(uc毕业证)如何办理
一比一原版卡尔加里大学毕业证(uc毕业证)如何办理一比一原版卡尔加里大学毕业证(uc毕业证)如何办理
一比一原版卡尔加里大学毕业证(uc毕业证)如何办理
 
SAP BW4HANA Implementagtion Content Document
SAP BW4HANA Implementagtion Content DocumentSAP BW4HANA Implementagtion Content Document
SAP BW4HANA Implementagtion Content Document
 
一比一原版(uom毕业证书)曼彻斯特大学毕业证如何办理
一比一原版(uom毕业证书)曼彻斯特大学毕业证如何办理一比一原版(uom毕业证书)曼彻斯特大学毕业证如何办理
一比一原版(uom毕业证书)曼彻斯特大学毕业证如何办理
 
一比一原版莱斯大学毕业证(rice毕业证)如何办理
一比一原版莱斯大学毕业证(rice毕业证)如何办理一比一原版莱斯大学毕业证(rice毕业证)如何办理
一比一原版莱斯大学毕业证(rice毕业证)如何办理
 
Discovering Digital Process Twins for What-if Analysis: a Process Mining Appr...
Discovering Digital Process Twins for What-if Analysis: a Process Mining Appr...Discovering Digital Process Twins for What-if Analysis: a Process Mining Appr...
Discovering Digital Process Twins for What-if Analysis: a Process Mining Appr...
 
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
 
A gentle exploration of Retrieval Augmented Generation
A gentle exploration of Retrieval Augmented GenerationA gentle exploration of Retrieval Augmented Generation
A gentle exploration of Retrieval Augmented Generation
 
一比一原版(UofT毕业证)多伦多大学毕业证如何办理
一比一原版(UofT毕业证)多伦多大学毕业证如何办理一比一原版(UofT毕业证)多伦多大学毕业证如何办理
一比一原版(UofT毕业证)多伦多大学毕业证如何办理
 
Drownings spike from May to August in children
Drownings spike from May to August in childrenDrownings spike from May to August in children
Drownings spike from May to August in children
 

Relational database intro for marketers

  • 1. Relational Database Principles for Non-IT People A Grumpy Old Marketer October 2014
  • 2. Relational Database Principles • What is a relational database? • The First and Second Commandments • What all this means
  • 3. What Is a Relational Database? • At the most basic level, most of the critical information that we use in our IT systems consists of entities and information about them • It is useful to think about information as tables, in which each row is an entity, and each column or “field” provides information about that entity. The example below is an imaginary list of employees: First name Last name Employee ID Department etc. Annie Oakley 340955 Collections etc. Noam Chomsky 409102 Graphic Arts etc. etc. etc. etc. etc. etc.
  • 4. What Is a Relational Database? • But in any real world situation, some of the columns/ fields in such a table are actually references to a different kind of entity: First name Last name Employee ID Department etc. Annie Oakley 340955 Collections etc. Noam Chomsky 409102 Graphic Arts etc. etc. etc. etc. etc. etc. Each employee has a unique ID, and may have a unique name… … but each employee does not have a unique department. Departments are a different kind of entity, and there are far fewer departments than employees.
  • 5. What Is a Relational Database? • Suppose that there are 500 employees, and 10 departments. If the Department field is simply a text field into which someone types or copies the department name, then each department name must be re-entered an average of 50 times. This wastes time and allows errors: First name Last name Employee ID Department etc. Annie Oakley 340955 Collections etc. Noam Chomsky 409102 Graphic Arts etc. Marvin Hagler 268003 Bill collection etc. William Cody 550254 Graphic Rats etc. Walt Disney 027851 Bill collecting etc. In fact, these five employees belong to only two departments.
  • 6. What Is a Relational Database? • Relational database management systems (RDBMS) achieve vast improvements in efficiency and data accuracy by linking each such field to a separate table which describes that kind of entity: First name Last name Employee ID Department ID etc. Annie Oakley 340955 6 etc. Noam Chomsky 409102 9 etc. Marvin Hagler 268003 6 etc. William Cody 550254 9 etc. Walt Disney 027851 6 etc. Department ID Department name Department VP emp ID etc. 6 Collections 711203 etc. 9 Graphic Arts 488030 etc.
  • 7. • An RDBMS reduces data entry work enormously – In the example on the previous two slides, 500 department name entries must be copied or typed if an RDBMS is not used – If an RDBMS is used, only 10 department name entries are needed. When data is entered in the Employee table, the system presents the user with a list of departments for the Department field, and the user selects rather than typing or pasting. • An RDBMS eliminates a huge number of opportunities for error – The system presents a list of selections for any linked field, rather than requiring someone to type or paste accurately. The only possible error is an incorrect selection, which is far less likely than a spelling or pasting error. • As the size and complexity of a dataset increases, the benefits of an RDBMS increase in proportion
  • 8. • The benefits of an RDBMS are even greater when attributes that belong in linked tables are taken into account. – Suppose that each department has its own cost centre code, and that we want to see which cost centre each employee belongs to First name Last name Employee ID Department Cost centre Annie Oakley 340955 Collections 7684 Noam Chomsky 409102 Graphic Arts 2417 etc. etc. etc. etc. etc. – Because the cost centre code is determined by which department the employee is in, we do not need to enter this information in the table of employees at all. The information should be set up as shown on the next slide:
  • 9. First name Last name Employee ID Department ID etc. Annie Oakley 340955 6 etc. Noam Chomsky 409102 9 etc. Marvin Hagler 268003 6 etc. William Cody 550254 9 etc. Walt Disney 027851 6 etc. Department ID Department name Department VP emp ID Department cost centre etc. 6 Collections 711203 7684 etc. 9 Graphic Arts 488030 2417 etc. After the correct department has been selected for each employee record, the linkage between the Department ID fields (the “lookup fields”) guarantees that the cost centre code, and every other correct datum in the Department table, will be correct for every employee.
  • 10. These benefits are the reason for the First Commandment of RDBMS: Store each data item only once!
  • 11. Let’s take another look at our example First name Last name Employee ID Department ID etc. Annie Oakley 340955 6 etc. Noam Chomsky 409102 9 etc. Marvin Hagler 268003 6 etc. William Cody 550254 9 etc. Walt Disney 027851 6 etc. Department ID Department name Department VP emp ID etc. 6 Collections 711203 etc. 9 Graphic Arts 488030 etc. Why don’t we just make the user select the department name, and store the department name in this field? Then the system could look up the department by name, and we wouldn’t need the Department ID field at all.
  • 12. Because information changes! • Suppose that: – The responsibilities of the Graphic Arts department are expanded, and it becomes Design and Animation. – The Collections department is renamed Revenue Assurance. • What happens when department names are used in the lookup fields instead of IDs? – If names are used, we must update the Department Name field in the table of departments, and we must also update the Department Name field for each and every employee in that department. – If IDs are used, we update the Department Name field in the table of departments. AND WE’RE DONE. • If we store meaningful information (e.g., names) in the lookup fields, data maintenance is hundreds of times harder.
  • 13. The need to maintain data efficiently is the reason for the Second Commandment of RDBMS: NEVER put meaning in your key (lookup field) values!
  • 14. What All This Means • If the information you are handling is inherently relational (which it almost always is), you cannot afford the wasted effort and errors that result from NOT using an RDBMS. • Your RDBMS must obey the commandments: – Store each data item only once. – Never put meaning in your key values.
  • 15. If you do not use an RDBMS that follows the commandments, your data will go to Hell and will take your business with it. Da ogni bocca dirompea co’ denti un peccatore, a guisa di maciulla, sì che tre ne facea così dolenti