LibreOffice-Suite-Base/C4/Database-Design-Purpose-OrganizeTables/English-timed

From Script | Spoken-Tutorial
Revision as of 15:12, 9 July 2014 by Gaurav (Talk | contribs)

Jump to: navigation, search
Time Narration
00:00 Welcome to the Spoken tutorial on LibreOffice Base.
00:04 In this tutorial,

we will learn the following topics on database design:

00:09 Determining the purpose of our database
00:12 Finding and organizing the information required
00:15 Dividing the information into tables.
00:19 What is Database Design?
00:21 Database design is the process of producing a detailed data model of a database.
00:28 With a good design, a database can
00:32 Provide up-to-date, accurate and complete information
00:37 Which means we can ensure integrity of our information at various levels
00:43 Meet our needs of data processing and reporting
00:48 And easily accommodate change.
00:51 The process of database design consists of the following steps
00:57 Determine the purpose of our database
01:00 Find and organize the information required
01:04 Divide the information into tables
01:07 Turn information items into columns
01:11 Specify primary keys
01:14 Set up the table relationships
01:17 Refine our design
01:20 Apply the normalization rules
01:23 And finally, test, run the database, and maintain.
01:28 Okay, let us go to the first step which is
01:32 Determine the purpose of our database.
01:35 Let us consider a simple Library Application.
01:38 A library usually has books.
01:41 And these books are issued to its registered members.
01:45 So we need a Library application to maintain a list of books, and members
01:51 And track the issuing of this books to its members.
01:56 Our first step is to find and organize the required information.
02:01 Here is where we gather all of the types of information we want to record in the database.
02:09 Now that we know the purpose of the Library application, let us identify the items here.
02:17 There are books.
02:19 A Book has a title, an author, a publisher, and a price.
02:24 And we can also store the author’s information such as, date of birth and country he or she belongs to.
02:33 We can also store the publisher’s name, address and phone.
02:38 Also, there are the Library members who have names, phone numbers and addresses.
02:45 Now when a book is issued to a member, there is a
02:49 book issue date, return date, actual return date and the checked in status.
02:56 These individual items are also called attributes.
03:01 Each of these attributes represents a potential column in a table.
03:08 At this point, we can formulate questions such as:
03:12 How do we add information about a set of fresh books supplied to the Library by a publisher?
03:20 How do we maintain a list of its members?
03:25 What if a member leaves or a member wants to change his/her address?
03:32 How do we update the information, when a book is returned by a member?
03:38 What kind of reports would we want to produce?
03:42 Which books are most read among the readers?
03:46 And how do we generate a list of books which are over due to be returned by members who have borrowed them?
03:55 Now that we have some details, let us see how we can divide the information into tables.
04:02 We will divide our information items or attributes into major entities or subjects.
04:11 Each subject then becomes a table.
04:14 So the preliminary list of tables looks like the image shown on the screen.
04:21 The major subjects or entities shown here are the books and the members.
04:26 Therefore, it makes sense to start out with two tables, one for books and one for members.
04:33 Let us now look at the Books table in detail.
04:37 It has the 10 attributes or columns which we defined earlier:
04:43 Title, Author, Publisher, PublisherAddress, PublisherCity, PublisherPhone, PublishYear, Price, AuthorBirthDate and AuthorCountry.
04:58 Now let us see how data is displayed in this table.
05:03 Notice that, each row or record contains information about the book, its author and its publisher.
05:13 Now, there are two flaws in this design.
05:17 There can be many books from the same author or the publisher.
05:23 So we notice that the author’s details and the publisher’s details have been repeated many times,
05:31 which wastes computer disk space.
05:34 And a second problem with this design is:
05:38 It runs the risk of introducing anomalies in the database.
05:44 Now what is an anomaly?
05:47 It is simply an error or inconsistency in the database.
05:53 There are three types of anomalies:
05:57 The first is called an insertion anomaly,
06:01 which can occur when a new record is inserted,
06:06 Or when certain attributes cannot be inserted into the database without the presence of other attributes.
06:14 For example, we will suppose there is a new Publisher called Penguin.
06:21 Now our design will not let us insert details about Penguin publishers, until our library can get a hold of at least one book by them.
06:34 The second is called the deletion anomaly,
06:39 which occurs during the deletion of a record.
06:43 Here, the deletion of a row or record in the database deletes more information than we wished to delete.
06:51 For example, we see that the Orient Publishers have only one book titled ‘Paradise Lost’, in our library.
07:01 Now if we delete this entire record, then we lose all information on Orient Publishers.
07:10 And we lose information about the author John Milton as well.
07:16 And finally let us see what Update Anomaly is.
07:21 It occurs during the updating of a record.
07:26 For example, let us suppose that Cambridge Publishers have a new address.
07:32 Now, updating the Address column for this Publisher requires us to make a change in more than one place.
07:40 In our case, two places.
07:43 And if Cambridge supplied a thousand books, then it means, we need to change the address in those thousand records.
07:54 And we might accidentally change the address in one place but forget to change it in the other places.
08:02 So this can lead to information not being accurate and thereby data integrity is lost.
08:11 How do we solve these problems?
08:14 We should redesign so that we record each fact just once.
08:20 If the same information is repeated in more than one place, then we should place that information in a separate table.
08:29 Let us see how.
08:31 Now we have split the Books table into Books, Authors and Publisher.
08:38 Notice that the columns in each table store facts about that entity or subject only.
08:47 This way, we can record the publisher information only once inside the Publisher table.
08:55 Similarly, having a separate Authors table allows recording the author information only once.
09:04 And we will see how we can link these tables back to the Books table in the next tutorial.
09:12 This brings us to the end of this tutorial on the First part of Database Design in LibreOffice.
09:19 To summarize, we learned the following topics on database design:
09:25 Determining the purpose of our database
09:28 Finding and organizing the information required
09:32 Dividing the information into tables
09:36 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.
09:48 This project is co-ordinated by http://spoken-tutorial.org.
09:54 More information on the same is available at the following link.
09:58 This script has been contributed by Priya Suresh, DesiCrew Solutions.

And this is Soundharya, DesiCrew Solutions, signing off.


Thanks for joining

Contributors and Content Editors

Gaurav, Minal, PoojaMoolya, Sandhya.np14