<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=LibreOffice-Suite-Base%2FC4%2FDatabase-Design-Purpose-OrganizeTables%2FEnglish</id>
		<title>LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=LibreOffice-Suite-Base%2FC4%2FDatabase-Design-Purpose-OrganizeTables%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English&amp;action=history"/>
		<updated>2026-04-08T21:25:42Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English&amp;diff=854&amp;oldid=prev</id>
		<title>Pravin1389: moved LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables /English to LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English&amp;diff=854&amp;oldid=prev"/>
				<updated>2012-12-01T14:24:15Z</updated>
		
		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/index.php/LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables_/English&quot; class=&quot;mw-redirect&quot; title=&quot;LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables /English&quot;&gt;LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables /English&lt;/a&gt; to &lt;a href=&quot;/index.php/LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English&quot; title=&quot;LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English&quot;&gt;LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English&lt;/a&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 14:24, 1 December 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Pravin1389</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English&amp;diff=330&amp;oldid=prev</id>
		<title>Chandrika: Created page with '{| border=1 !Visual Cue !Narration |- |Show Slide Number 1  Spoken tutorial on LibreOffice Base : Database Design Learning Objectives  Database Design  1. Determine the purpose o…'</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English&amp;diff=330&amp;oldid=prev"/>
				<updated>2012-11-27T15:25:15Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;#039;{| border=1 !Visual Cue !Narration |- |Show Slide Number 1  Spoken tutorial on LibreOffice Base : Database Design Learning Objectives  Database Design  1. Determine the purpose o…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| border=1&lt;br /&gt;
!Visual Cue&lt;br /&gt;
!Narration&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 1 &lt;br /&gt;
Spoken tutorial on LibreOffice Base : Database Design&lt;br /&gt;
Learning Objectives&lt;br /&gt;
&lt;br /&gt;
Database Design&lt;br /&gt;
&lt;br /&gt;
1. Determine the purpose of our database    &lt;br /&gt;
&lt;br /&gt;
2. Find and organize the information required     &lt;br /&gt;
&lt;br /&gt;
3. Divide the information into tables    &lt;br /&gt;
|Welcome to the Spoken tutorial on LibreOffice Base.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, &lt;br /&gt;
we will learn the following topics on database design:&lt;br /&gt;
&lt;br /&gt;
1. Determining the purpose of our database    &lt;br /&gt;
&lt;br /&gt;
2. Finding and organizing the information required     &lt;br /&gt;
&lt;br /&gt;
3. Dividing the information into tables&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 2&lt;br /&gt;
&lt;br /&gt;
Database design is the process of producing a detailed data model of a database.&lt;br /&gt;
&lt;br /&gt;
With a good design, a database can&lt;br /&gt;
&lt;br /&gt;
4. Provide up-to-date, accurate and complete information&lt;br /&gt;
&lt;br /&gt;
5. Which means we can ensure integrity of our information at various levels&lt;br /&gt;
&lt;br /&gt;
6. Meet our needs of data processing and reporting&lt;br /&gt;
&lt;br /&gt;
7. Easily accommodate change&lt;br /&gt;
|What is Database Design?&lt;br /&gt;
&lt;br /&gt;
* Database design is the process of producing a detailed data model of a database.&lt;br /&gt;
&lt;br /&gt;
* With a good design, a database can&lt;br /&gt;
&lt;br /&gt;
* Provide up-to-date, accurate and complete information&lt;br /&gt;
&lt;br /&gt;
* Which means we can ensure integrity of our information at various levels&lt;br /&gt;
&lt;br /&gt;
* Meet our needs of data processing and reporting&lt;br /&gt;
&lt;br /&gt;
* And easily accommodate change&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 3&lt;br /&gt;
&lt;br /&gt;
The process of database design consists of the following steps&lt;br /&gt;
&lt;br /&gt;
1. Determine the purpose of our database    &lt;br /&gt;
&lt;br /&gt;
2. Find and organize the information required     &lt;br /&gt;
&lt;br /&gt;
3. Divide the information into tables    &lt;br /&gt;
&lt;br /&gt;
4. Turn information items into columns    &lt;br /&gt;
&lt;br /&gt;
5. Specify primary keys    &lt;br /&gt;
&lt;br /&gt;
6. Set up the table relationships    &lt;br /&gt;
&lt;br /&gt;
7. Refine our design    &lt;br /&gt;
&lt;br /&gt;
8. Apply the normalization rules    &lt;br /&gt;
&lt;br /&gt;
9. Finally: test, run the database, and maintain.&lt;br /&gt;
|The process of database design consists of the following steps&lt;br /&gt;
&lt;br /&gt;
1. Determine the purpose of our database    &lt;br /&gt;
&lt;br /&gt;
2. Find and organize the information required     &lt;br /&gt;
&lt;br /&gt;
3. Divide the information into tables    &lt;br /&gt;
&lt;br /&gt;
4. Turn information items into columns    &lt;br /&gt;
&lt;br /&gt;
5. Specify primary keys    &lt;br /&gt;
&lt;br /&gt;
6. Set up the table relationships    &lt;br /&gt;
&lt;br /&gt;
7. Refine our design    &lt;br /&gt;
&lt;br /&gt;
8. Apply the normalization rules    &lt;br /&gt;
&lt;br /&gt;
9. And finally, test, run the database, and maintain.&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 4&lt;br /&gt;
&lt;br /&gt;
Step 1. Determine the purpose of our database    &lt;br /&gt;
&lt;br /&gt;
* Build a simple Library Application &lt;br /&gt;
&lt;br /&gt;
* That maintains a list of books, and members &lt;br /&gt;
&lt;br /&gt;
* And tracks the issuing of the books to its members.&lt;br /&gt;
|Okay, let us go to the first step which is &lt;br /&gt;
&lt;br /&gt;
Determine the purpose of our database.&lt;br /&gt;
&lt;br /&gt;
Let us consider a simple Library Application. &lt;br /&gt;
&lt;br /&gt;
A library usually has books.&lt;br /&gt;
&lt;br /&gt;
And these books are issued to its registered members.&lt;br /&gt;
&lt;br /&gt;
So we need a Library application to maintain a list of books, and members &lt;br /&gt;
&lt;br /&gt;
And track the issuing of the books to its members.&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 5&lt;br /&gt;
&lt;br /&gt;
Step 2. Find and organize the information required     &lt;br /&gt;
&lt;br /&gt;
* Book has a title, an author, a publisher, and a price.&lt;br /&gt;
&lt;br /&gt;
* Author’s info: date of birth and his/her country &lt;br /&gt;
&lt;br /&gt;
* Publisher’s info:  name, address and phone.&lt;br /&gt;
&lt;br /&gt;
* Library members have names, phone numbers and addresses.&lt;br /&gt;
&lt;br /&gt;
* Books Issued to Members: book issue date, return date, the actual return date and the checked in status.&lt;br /&gt;
&lt;br /&gt;
* Each of the above attribute represents a potential column in a table. &lt;br /&gt;
&lt;br /&gt;
* Formulate Questions:&lt;br /&gt;
&lt;br /&gt;
* How do we add information about a set of fresh books supplied to the Library by a publisher?&lt;br /&gt;
&lt;br /&gt;
* How do we maintain a list of its members? &lt;br /&gt;
&lt;br /&gt;
* What if a member leaves or a member wants to change his/her address? &lt;br /&gt;
&lt;br /&gt;
* How do we update the information, when a book is returned by a member? &lt;br /&gt;
&lt;br /&gt;
* What kind of reports would we want to produce? &lt;br /&gt;
&lt;br /&gt;
* Which books are most read among the members? &lt;br /&gt;
&lt;br /&gt;
* How do we generate a list of books which are over due to be returned by members who borrowed them?&lt;br /&gt;
|Our first step is to find and organize the required information.     &lt;br /&gt;
&lt;br /&gt;
Here is where we gather all of the types of information we want to record in the database.&lt;br /&gt;
&lt;br /&gt;
Now that we know the purpose of the Library application, let us identify the items here. &lt;br /&gt;
&lt;br /&gt;
There are books. &lt;br /&gt;
&lt;br /&gt;
A Book has a title, an author, a publisher, and a price. &lt;br /&gt;
&lt;br /&gt;
And we can also store the author’s information such as, date of birth and country he or she belongs to. &lt;br /&gt;
&lt;br /&gt;
We can also store the publisher’s name, address and phone. &lt;br /&gt;
&lt;br /&gt;
Also,  there are the Library members who have names, phone numbers and addresses. &lt;br /&gt;
&lt;br /&gt;
Now when a book is issued to a member, there is a &lt;br /&gt;
&lt;br /&gt;
book issue date, return date, the actual return date and the checked in status.&lt;br /&gt;
&lt;br /&gt;
These individual items are also called attributes. &lt;br /&gt;
&lt;br /&gt;
Each of these attributes represents a potential column in a table. &lt;br /&gt;
&lt;br /&gt;
At this point, we can formulate questions such as: &lt;br /&gt;
&lt;br /&gt;
How do we add information about a set of fresh books supplied to the Library by a publisher?&lt;br /&gt;
&lt;br /&gt;
How do we maintain a list of its members? &lt;br /&gt;
&lt;br /&gt;
What if a member leaves or a member wants to change his/her address? &lt;br /&gt;
&lt;br /&gt;
How do we update the information, when a book is returned by a member? &lt;br /&gt;
&lt;br /&gt;
What kind of reports would we want to produce? &lt;br /&gt;
&lt;br /&gt;
Which books are most read among the members? &lt;br /&gt;
&lt;br /&gt;
And how do we generate a list of books which are over due to be returned by members who borrowed them?&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 6&lt;br /&gt;
&lt;br /&gt;
Step 3. Divide the information into tables    &lt;br /&gt;
|Now that we have some details, let us see how we can divide the information into tables.&lt;br /&gt;
&lt;br /&gt;
We will divide our information items or attributes into major entities or subjects. &lt;br /&gt;
&lt;br /&gt;
Each subject then becomes a table. &lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 7&lt;br /&gt;
&lt;br /&gt;
Show BooksMembersDesign.ppt Slide&lt;br /&gt;
&lt;br /&gt;
Show cursor movements over the slide as narration goes forward.&lt;br /&gt;
|So the preliminary list of tables looks like the image shown on the screen.&lt;br /&gt;
&lt;br /&gt;
The major subjects or entities shown here are the books and the members. &lt;br /&gt;
&lt;br /&gt;
Therefore, it makes sense to start out with two tables, one for books and one for members.&lt;br /&gt;
&lt;br /&gt;
Let us now look at the Books table in detail. &lt;br /&gt;
&lt;br /&gt;
It has the 10 attributes or columns which we identified earlier:&lt;br /&gt;
&lt;br /&gt;
Title, Author, Publisher, PublisherAddress, PublisherCity, PublisherPhone, PublishYear, Price, AuthorBirthDate and AuthorCountry. &lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 8&lt;br /&gt;
&lt;br /&gt;
Show BooksDataTableNoIdColumn.ppt Slide&lt;br /&gt;
&lt;br /&gt;
Show cursor movements over the slide as narration goes forward.&lt;br /&gt;
|Now let us see how data is displayed in this table. &lt;br /&gt;
&lt;br /&gt;
Notice that, each row or record contains information about the book, its author and its publisher. &lt;br /&gt;
&lt;br /&gt;
Now, there are two flaws in this design. &lt;br /&gt;
&lt;br /&gt;
There can be many books from the same author or the publisher. &lt;br /&gt;
&lt;br /&gt;
So we notice that the author’s details and the publisher’s details have been repeated many times,&lt;br /&gt;
&lt;br /&gt;
which wastes computer disk space.&lt;br /&gt;
&lt;br /&gt;
And a second problem with this design is: &lt;br /&gt;
&lt;br /&gt;
It runs the risk of introducing anomalies in the database. &lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 9&lt;br /&gt;
&lt;br /&gt;
* Anomaly is simply an error or inconsistency in the database. &lt;br /&gt;
&lt;br /&gt;
* Three types of anomalies&lt;br /&gt;
&lt;br /&gt;
* Insertion Anomaly occurs when a new record is inserted  Or when certain attributes cannot be inserted into the database without the presence of other attributes&lt;br /&gt;
|Now what is an anomaly?&lt;br /&gt;
&lt;br /&gt;
It is simply an error or inconsistency in the database. &lt;br /&gt;
&lt;br /&gt;
There are three types of anomalies:&lt;br /&gt;
&lt;br /&gt;
The first in called an insertion anomaly,&lt;br /&gt;
&lt;br /&gt;
which can occur when a new record is inserted, &lt;br /&gt;
&lt;br /&gt;
Or when certain attributes cannot be inserted into the database without the presence of other attributes.&lt;br /&gt;
|-&lt;br /&gt;
|Go back to Slide Number 8 again&lt;br /&gt;
&lt;br /&gt;
Show BooksDataTableNoIdColumn.ppt Slide&lt;br /&gt;
&lt;br /&gt;
Show cursor movements over the slide as narration goes forward&lt;br /&gt;
|For example, we will suppose there is a new Publisher called Penguin.&lt;br /&gt;
&lt;br /&gt;
Now our design will not let us insert details about Penguin publishers, until our library can get hold of at least one book by them.&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 9&lt;br /&gt;
&lt;br /&gt;
Retain slide 9 content. And make the following appear:&lt;br /&gt;
&lt;br /&gt;
Deletion anomaly occurs during the deletion of a record. And the deletion of a row or record in the database deletes more information than we wished to delete.&lt;br /&gt;
|The second is called the deletion anomaly,&lt;br /&gt;
&lt;br /&gt;
which occurs during the deletion of a record.&lt;br /&gt;
&lt;br /&gt;
Here, the deletion of a row or record in the database deletes more information than we wished to delete.&lt;br /&gt;
|-&lt;br /&gt;
|Go back to Slide Number 8 again&lt;br /&gt;
&lt;br /&gt;
Show BooksDataTableNoIdColumn.ppt Slide&lt;br /&gt;
&lt;br /&gt;
Show cursor movements over the slide as narration goes forward.&lt;br /&gt;
|For example, we see that the Orient Publishers have only one book titled ‘Paradise Lost’, in our library. &lt;br /&gt;
&lt;br /&gt;
Now if we delete this entire record, then we lose all information on Orient Publishers. &lt;br /&gt;
&lt;br /&gt;
And we lose information about the author John Milton as well.&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 9&lt;br /&gt;
&lt;br /&gt;
Retain slide 9 content. And make the following appear:&lt;br /&gt;
&lt;br /&gt;
* Update Anomaly occurs during the updating of a record. &lt;br /&gt;
|And finally let us see what Update Anomaly is. &lt;br /&gt;
&lt;br /&gt;
It occurs during the updating of a record. &lt;br /&gt;
|-&lt;br /&gt;
|Go back to Slide Number 8 again&lt;br /&gt;
&lt;br /&gt;
Show BooksDataTableNoIdColumn.ppt Slide&lt;br /&gt;
&lt;br /&gt;
Show cursor movements over the slide as narration goes forward.&lt;br /&gt;
|For example, let us suppose that Cambridge Publishers have a new address. &lt;br /&gt;
&lt;br /&gt;
Now, updating the Address column for this Publisher requires us to make a change in more than one place.&lt;br /&gt;
&lt;br /&gt;
In our case, two places. &lt;br /&gt;
&lt;br /&gt;
And if Cambridge supplied a thousand books, then it means, we need to change the address in those thousand records. &lt;br /&gt;
&lt;br /&gt;
And we might accidentally change the address in one place but forget to change it in the other places.&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 9&lt;br /&gt;
&lt;br /&gt;
Retain slide 9 content. And make the following appear:&lt;br /&gt;
&lt;br /&gt;
All the anomalies can cause data inaccuracy and hence data integrity can be lost&lt;br /&gt;
|So this can lead to information not being accurate and thereby data integrity is lost.&lt;br /&gt;
&lt;br /&gt;
How do we solve these problems?&lt;br /&gt;
|-&lt;br /&gt;
|Go back to Slide Number 8 again&lt;br /&gt;
&lt;br /&gt;
Show BooksDataTableNoIdColumn.ppt Slide&lt;br /&gt;
&lt;br /&gt;
Show cursor movements over the slide as narration goes forward.&lt;br /&gt;
|We should redesign so that we record each fact just once. &lt;br /&gt;
&lt;br /&gt;
If the same information is repeated in more than one place, then we should place that information in a separate table. &lt;br /&gt;
&lt;br /&gt;
Let us see how.&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 10&lt;br /&gt;
Show BooksMembersAuthorsPublishersDesign.ppt Slide&lt;br /&gt;
|Now we have split the Books table into Books, Authors and Publications. &lt;br /&gt;
&lt;br /&gt;
Notice that the columns in each table store facts about that entity or subject only.&lt;br /&gt;
&lt;br /&gt;
This way, we can record the publisher information only once inside the Publications table.&lt;br /&gt;
&lt;br /&gt;
Similarly, having a separate Authors table allows recording the author information only once. &lt;br /&gt;
&lt;br /&gt;
And we will see how we can link these tables back to the Books table in the next tutorial.&lt;br /&gt;
|-&lt;br /&gt;
|Show Slide Number 11&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
&lt;br /&gt;
Database Design&lt;br /&gt;
&lt;br /&gt;
1. Determine the purpose of our database    &lt;br /&gt;
&lt;br /&gt;
2. Find and organize the information required    &lt;br /&gt;
&lt;br /&gt;
3. Divide the information into tables&lt;br /&gt;
|This brings us to the end of this tutorial on the First part of Database Design in LibreOffice Base &lt;br /&gt;
&lt;br /&gt;
To summarize, we learned the following topics on database design:&lt;br /&gt;
&lt;br /&gt;
1. Determining the purpose of our database    &lt;br /&gt;
&lt;br /&gt;
2. Finding and organizing the information required     &lt;br /&gt;
&lt;br /&gt;
3. Dividing the information into tables&lt;br /&gt;
|-&lt;br /&gt;
|Acknowledgement Slide&lt;br /&gt;
|Spoken Tutorial Project is a part of the Talk to a Teacher project, supported by the National Mission on Education through ICT, MHRD, Government of India. This project is co-ordinated by http://spoken-tutorial.org. More information on the same is available at the following link http://spoken-tutorial.org/NMEICT-Intro. This script has been contributed by Priya Suresh, DesiCrew Solutions. signing off. Thanks for joining.&lt;br /&gt;
|-&lt;/div&gt;</summary>
		<author><name>Chandrika</name></author>	</entry>

	</feed>