Addendum CS403
Addendum CS403
Lecture No. 1
MySQL Tools
Oracle Tools
PostgreSQL Tools
DB2 Tools
MaxDB Tools
Lecture No. 2
Data is a collection of facts, figures and statistics related to an object. Data can be processed to
create useful information. Data is a valuable asset for an organization.
Example
Students fill an admission form when they get admission in college. The form consists of raw
facts about the students. These raw facts are student's name, father name, address etc. The
purpose of collecting this data is to maintain the records of the students during their study
period in the college.
Lecture No. 2
Database systems are widely used in different areas because of their numerous advantages.
Some of the most common database applications are listed here.
Airlines and railways: Airlines and railways use online databases for reservation, and
for displaying the schedule information.
Banking: Banks use databases for customer inquiry, accounts, loans, and other
transactions.
Education: Schools and colleges use databases for course registration, result, and other
information.
Credit card transactions: Databases are used for keeping track of purchases on credit
cards in order to generate monthly statements.
Health care information systems and electronic patient record: Databases are used
for maintaining the patient health care details.
Digital libraries and digital publishing: Databases are used for management and
delivery of large bodies of textual and multimedia data.
Finance: Databases are used for storing information such as sales, purchases of stocks
and bonds or data useful for online trading.
Sales: Databases are used to store product, customer and transaction details.
Human resources: Organizations use databases for storing information about their
employees, salaries, benefits, taxes, and for generating salary checks.
Lecture No. 2
System Analyst: System Analyst determines the requirement of end users, especially naïve
and parametric end users and develops specifications for transactions that meet these
requirements. System analyst plays a major role in database design, its properties; the structure
prepares the system requirements statement, which involves the feasibility aspect, economic
aspect, technical aspect etc. of the system.
Lecture No. 4
Data Dictionary Management: The DBMS stores Metadata (i.e. definitions of the data
elements) in a data dictionary. All the programs that access the data in the database work
through the DBMS. The DBMS uses the data dictionary to look up the required data
component structures and relationships. Additionally, any changes made in a database
structure are automatically recorded in the data dictionary. Thus, the DBMS provides data
abstraction, and it removes structural and data dependency from the system.
Data storage management: The DBMS creates and manages the complex structures required
for data storage. A modern DBMS provides storage not only for the data, but also for related
data-entry forms or reports, data validation rules, code, structures to handle video and picture
formats, and so on. Data storage management is also important for database performance
tuning. The DBMS actually stores the database in multiple physical data files.
Lecture No. 4
For example we have tables of STUDENT, TEACHER, REGISTRAR etc, from this scenario
the catalog will be
Catalog
TABLE_NAME TALBLE_TYPE
STUDENT TABLE
TACHER TABLE
Lecture No. 4
Lecture No. 4
Two-tier architecture:
Three-tier architecture:
3-tier architecture is a client server architecture where the user interfaces, computer data
storage and data access are created and maintained as independent modules. It is mean to allow
any of the three tiers to be replaced or developed independently. For example, a change in the
operating system of a presentation tier will only affect the user interface code.
Lecture No. 5
Suggestion type Names of Tools for database design
ERStudio
Microsoft Visio
Rational Rose
PowerDesigner
TOAD Data Modeler
Lecture No. 5
Suggestion type Some important web links for the current Lecture.
Important Links:
1. http://cgi.csc.liv.ac.uk/~valli/Comp507/slides21.pdf
2. http://www.edrawsoft.com/Data-Flow-Diagrams.php
3. http://www.slideshare.net/mohit4192/dfd-examples
Lecture No. 6
Data Dictionary:
A data dictionary is a file or a set of files that contains a database's metadata. The data
dictionary contains records about other objects in the database, such as data ownership, data
relationships to other objects, and other data.
The data dictionary is a crucial component of any relational database. Ironically, because of its
importance, it is invisible to most database users. Typically, only database administrators
interact with the data dictionary.
Lecture No. 6
A data dictionary that is a separate part of DBMS (non-integrated data dictionary) is referred to
as freestanding data dictionary. It may be a commercial product or a simple file developed and
maintained by a database designer. The freestanding data dictionary is useful in the initial
stage of design for collecting and organizing information about data.
Lecture No. 6
http://en.kioskea.net/contents/67-dbms-models
Lecture No. 7
An entity is a thing or object of importance about which data must be captured. All things
aren't entities, only those about which information should be captured.
Database entities appear in a data model as a box with a title. The title is the name of the entity.
Lecture No. 7
Suggestion type Entity description
External entity: Anything that receives or generates data from or to the system is an external
entity, this term is normally used in data flow diagram.
Entity Type: Where as entity type is name assigned to a collection of properties of different
things existing in an environment, this term is used in the context of ERD.
Lecture No. 7
Entity with single instance is not represented in ER Diagram; this concept is missing in video
lectures. So below contents should be added at interval 17:00
“Things with a single instance are not explicitly identified as entity type, so they are not
represented in the E-R diagram. For example, a librarian is a single instance in a library
system, that plays certain role in the library system and at many places data is generated from
or to the librarian, so it will be represented at relevant places in the DFDs. But the librarian
will not be explicitly represented in the E-R diagram of the library system”
Lecture No. 8
Significance of Keys:
Keys are crucial to a table structure for the following reasons:
Keys ensure that each record in a table is precisely identified. As you already
know, a table represents a singular collection of similar objects or events. (For
example, a CLASSES table represents a collection of classes, not just a single
class.) The complete set of records within the table constitutes the collection, and
each record represents a unique instance of the table's subject within that
collection. You must have some means of accurately identifying each instance,
and a key is the device that allows you to do so.
Keys help establish and enforce various types of integrity. Keys are a major
component of table-level integrity and relationship-level integrity. For instance,
they enable you to ensure that a table has unique records and that the fields you
use to establish a relationship between a pair of tables always contain matching
values.
Lecture No. 8
A Super key and composite key are similar to one another. Both of them are used to uniquely
identify a row in a database table.
A super key is a set of columns within a table that can be used to identify a particular row in a
table. A super key can be only one column or a combination of multiple columns. If a super
key contains multiple columns it becomes a composite key.
Lecture No. 8
Candidate Key
A candidate is a subset of a super key. A candidate key is a single field or the least
combination of fields that uniquely identifies each record in the table. The least combination of
fields distinguishes a candidate key from a super key. Every table must have at least one
candidate key but at the same time can have several.
As an example we might have a student_id that uniquely identifies the students in a student
table. This would be a candidate key. But in the same table we might have the student’s first
name and last name that also, when combined, uniquely identify the student in a student table.
These would both be candidate keys.
Lecture No. 9
Entities enrolled in a relationship are called its participants. The participation of an entity in a
relationship is total when all entities of that set might be participant in the relationship
otherwise it is partial e.g. if every Part is supplied by a Supplier then the SUPP_PART
relationship is total. If certain parts are available without a supplier than it is partial.
Lecture No. 10
Identifier Dependency:
It means that the dependent entity in case of existence dependency does not have its own
identifier and any external identifier is used to pick data for that entity. And to define a key in
this entity the key of the parent entity is to be used in the key for this entity may be used as
composite keys.
Lecture No. 11
Subtypes hold all the properties of their corresponding super-types. Means all those subtypes
which are connected to a specific supertype will have all the properties of their supertype.
The Figure shows that the supertype and subtype relation between the SALARIED and HOURLY
employees with the supertype entity EMPLOYEE, we can see that the attributes which are specific
to the subtype entities are not shown with the supertype entity. Only those attributes are shown on
the supertype entity which are to be inherited to the subtypes and are common to all the subtype
entities associated with this supertype. The example shows that there is a major entity or entity
supertype name EMPLOYEE and has a number of attributes. Now that in a certain organization
there can be a number of employees being paid on different payment criteria.
Lecture No. 12
The heading “Subject registration” should add in the slides at interval 23:00. The lecturer
explaining the example of three main modules of DFD with the help of the diagram but the
slide contains no heading on it. It could be better to place names along with a diagram for the
understanding of students that what module; the lecturer is explaining.
Lecture No. 12
The headings “Result submission” should add in the slides at the interval 27:05. The lecturer
explaining the example of three main modules of DFD with the help of the diagram but the
slide contains no heading on it.
Lecture No. 12
The headings “Result calculation” should add in the slides at the interval 28:25. The lecturer
explaining the example of three main modules of DFD with the help of the diagram but the
slide contains no heading on it.
Lecture No. 14
“Difference between conceptual database design and logical database design” table is missing
in video lecture which is present in handouts.
Lecture No. 14
Suggestion type Missing Definition –data model
Data model definition is missing. Definition and some general discussion on data model for concept
clarity are necessary.
Data model is a set or collection of construct used for creating a database and producing designs
for the databases.
The conceptual database design can be transformed into any data model, like, hierarchical, network,
relational or object-oriented.
Lecture No. 14
The advantages of relational data model are given in handouts at page no 115, but it is not
discussed in video lecture. The advantages of relational data model should also be given in
video lecture at interval 03:00.
relational data model has a strong mathematical foundation that gives many advantages, like:
Lecture No. 15
The respected instructor did not explain the concept of Null constraints, default value and
Domain constraint sufficiently. There should be proper explanation of such a important
concepts.
A Null value of an attribute means that the value of attribute is not yet given, not defined yet. It can be
assigned or defined later however. Through Null constraint we can monitor whether an attribute can
have Null value or not.
Default value constraint means that if we do not give any value to any particular attribute, it will be
given a certain (default) value. This constraint is generally used for the efficiency purpose in the data
entry process.
This is an essential constraint that is applied on every attribute, that is, every attribute has got a domain.
Domain means the possible set of values that an attribute can have. For example, some attributes may
have numeric values, like salary, age, marks etc. Some attributes may possess text or character values,
like, name and address.
Lecture No. 15
Suggestion type New slide
The Respected instructor explained the mapping of a composite attribute into relational data
model, but did not include the table/relation as an example in slide, so I suggest that there
should be a separate slide that will contain the resultant relation of transforming composite
attribute into a relation.
STHOBBY(stId, stHobby)
Lecture No. 16
Insufficient detail and example. Subtype discriminator detail and example is insufficient.
Explanation should be provided with relation/ examples for elaborating these topics.
Explanation:
If we link the super type with concerned subtype there is a requirement of descriptive attribute,
which is called as discriminator. It is used to identify which subtype is to be linked. For
Example there is an entity type EMP which is a super type, now there are three subtypes,
which are salaried, hourly and consultants. So now there is a requirement of a determinant,
which can identify that which subtypes to be consulted, so with empId a special character can
be added which can be used to identify the concerned subtype.
Lecture No. 17
Example:
Output of example is shown on page 150 but not shown in the video lecture. It should be on
15:53
Output:
Lecture No. 18
Example:
Equi join
In equi join, rows are joined on the basis of values of a common attribute between the two
relations i.e. rows having the same value in the common attribute are joined. Common attributes
appears twice in the output and common attribute with the same name is qualified with the
relation name in the output.
For example: if we take the above example then result of equi join is:
Natural join
I t is also called simply the join and called most general form of join. It is same as equijoin with
common column appearing once.
For example: if we take the above example then result of Natural join is:
Suggestion type Example should be given in the background while explaining verbally
In PROJ-EMP we replicate the data with both the PROJ and EMP tables so on the cost
of extra storage both tables have the related data
Lecture No. 24
Suggestion type Slides should be visible in the background while explaining verbally
Clustering is a process, which means to place records from different tables to place in adjacent
physical locations, called clusters. It increases the efficiency since related records are placed
close to each other. Clustering is also suitable to relatively static situations. The advantage of
clustering is that while accessing the records it is easy to access. Define cluster, define the key
of the cluster, and include the tables into the cluster while creating associating the key with it.
Lecture No. 25
Example of money and floating point can be seen on the given website:
http://technet.microsoft.com/en-us/library/ms179882.aspxexamples
http://technet.microsoft.com/en-us/library/ms173773.aspx
Lecture No. 26
You can find the easy method of create table command on the following site:
http://www.w3schools.com/sql/sql_create_table.asp
Lecture No. 29
Suggestion type Same example of between operator in the video lecture should also be
discussed in the handouts
Example: List the IDs of the students with course codes having marks between 70 and 80:
Select StId, crCODE, totMrks from ENROLL where totMrks between 70 and 80.
This query will show the records of the students whose total marks are between 70 and 80.
Lecture No. 29
% Allows you to match any string of any length (including zero length)
This will select all the courses which have second character s and at the start only one
character and follows by any number of characters.
Lecture No. 30
The example of order by clause given in the video lectures is given below:
It will display the records of all the students in the ascending order.
Lecture No. 30
The example of group by clause given in the video lectures is given below:
Select prName, max(cgpa) as ‘Max CGPA’, min(cgpa) as ‘Min CGPA’ FROM student
GROUP BY prName
Lecture No. 30
Select prName, max(cgpa) as ‘Max CGPA’, min(cgpa) as ‘Min CGPA’ FROM student
Database tool explanation is missing. Needs about tool while transforming from logical design
to physical design. Latest tools are uploaded on LMS download section. Detailed document
about installation is uploaded on LMS.
Lecture No. 22
Data types and ranges for Microsoft Access, MySQL and SQL Server.
http://www.w3schools.com/sql/sql_datatypes.asp
Lecture No. 24
Database tool explanation is missing. Needs about tool while transforming from logical design
to physical design. Latest tools are uploaded on LMS download section.
Lecture No. 25
Lecture No. 26
Various commands including create are discussed in detail on the given website.
http://www.w3schools.com/sql/sql_create_table.asp
Lecture No. 27
http://www.w3schools.com/sql/sql_delete.asp
Lecture No. 34
At the specified interval detail about SRAM and DRAM is missing. It provided below:
SRAM:
Static Random Access Memory is a type of semiconductor memory that uses latches to store
each bit. It is different from the DRAM because it does not need to be updated periodically. It
is also more expensive and hence not used main memory in personal computers.
DRAM:
Dynamic random access memory uses IC’s made up of capacitors to store bits. Due to
properties of capacitor it requires frequent refreshes to maintain the data. Mostly DRAM is
used as main memory in personal computers.
Sources:
http://en.wikipedia.org/wiki/Dynamic_random-access_memory
http://en.wikipedia.org/wiki/Static_random-access_memory
Lecture No. 34
Sources: http://en.wikipedia.org/wiki/EEPROM
Lecture No. 34
Students can consult handouts for the lecture on page 257 for more details about optical
storage devices.
Lecture No. 35
Diagram and explanation in the video lecture is missing about Index sequential file. Students
can see the image below to have a more clear idea about the concept.
Sources:
http://ulam2.cs.luc.edu/353/spr13/notes/12.html
Lecture No. 35
Overflow file is used to store the indexes of new records. New records cannot be directly
added to the current indexed database because it will create overhead to add new records one
by one. New records are processed in batch which is stored in the overflow file. You can visit
the link below to see the example:
http://www.edwardbosworth.com/My3121Textbook_HTM/MyText3121_Ch27_01.htm
Lecture No. 36
Students can consult for Mapping function topic from handouts page 266.
Lecture No. 36
Students can consult for topics Chaining, Re-hashing, Linear probing, Clustering, Open
addressing from handouts page 267-269
Lecture No. 36
Lecture No. 36
Index: An index contains a collection of data entries, and supports efficient retrieval of all
records with a given search key value k.
Views: A view is defined to combine certain data from one or more tables for different
reasons. A view is like a window through which we can see data from one or more tables.
Lecture No. 37
Students can consult handouts for index diagram and explanation on page 271
Lecture No. 37
Artifact Handouts
Placement on Time Page 273
Line / Page no.
Index is maintained in a hierarchical arrangement of nodes. Tree node has key value which we
want to search and pointer that point to those nodes; nodes are connected through links. There
is a special node called the root node and each node has parent node and has one or more
children except the leaf node. B+ Trees has number of node one more than the number of keys.
Number of pointers in a node is called the order of the tree and the distance of all leaf nodes is
same from the root. Left most node will point to the nodes which have less keys than the
current node and right node will point to the nodes which have more keys than the. For
example, index entries: <search key value, page id> they direct search for data entries in
leaves. More detail is also given in the video of Lecture No. 38 from 35:00 to 43:10 with
example explanation.
Lecture No. 38
Lecture 37 & 38 are based on the single topic i.e. Indexing. In handouts of lecture 38 there are
some concepts like Clustered Versus Un-clustered Indexes, Dense Verses Sparse Indexes,
Primary and Secondary Indexes and Indexes Using Composite Search Keys which are not
properly discussed in the video of Lecture No.38, therefore students can read from handouts to
grasp those topics.
Lecture No. 39
Definition of simple, complex, materialized views are missing in video lecture it is included in
handouts at page no 283-284, you can consult from there.
Lecture No. 40
Lecture No. 42
At the specified interval example is missing. You can consider the example below to clarify
the idea.
For example, a transfer of Rs 1000 from your checking account to your savings account would
consist of two steps: debiting your checking account by Rs1000 and crediting your savings
account with Rs1000. To protect data integrity and consistency and the interests of the bank
and the customer these two operations must be applied together or not at all. Thus, they
constitute a transaction and ensure the consistency.
Lecture No. 43
At the specified interval example of sample log file of recovery manager in the topic
Incremental Log with Deferred Updates is missing. Students can refer to page 303 of handouts
to see the example for details.
Lecture No. 43
At the specified interval example of sample log file of recovery manager in the topic
Incremental Log with Immediate Updates is missing. Students can refer to page 306 of
handouts to see the example for details.
Lecture No. 44
At the specified interval of time a slide is missing in video lecture whose contents will be as
follows:
Lecture No. 45
Suggestion type Missing Concept
The new slide which contains the explanation of wait for graph diagram is missing at the
specified interval. The contents of slide should be:
In figure transaction A is waiting for transaction B and B is waiting for N. So it will move
inversely for releasing of lock and transaction A will be the last one to execute. In the second
figure there is a cycle, which represents deadlock; this kind of cycle can be in between two or
more transactions as well. The DBMS keeps on checking for the cycle.