SILS iSchool

20 April 2021

Value Added | daily

Class Schedule

Basics | sessions 01-03
  1. 19 Jan intro and clients | lecture | labs
  2. 26 Jan servers and command line | lecture | labs
  3. 02 Feb networks and protocols | lecture | labs
Web Development | sessions 04-08

  1. 09 Feb structural layer | lecture | labs
  2. 16 Feb presentational layer | lecture | labs
  3. 23 Feb using a structure | lecture | labs
  4. 02 Mar behavioral layer | lecture | labs
  5. 09 Mar design thoughts | lecture | labs
Dealing with Markup | sessions 09-10
  1. 16 Mar control objects and display | lecture | labs
  2. 23 Mar tools that read markup | lecture | labs
Working with data | sessions 11-14
  1. 30 Mar formulas, functions, vectors | lecture | labs
  2. 06 Apr data display | lecture | labs
  3. 13 Apr manipulate data sets | lecture | labs
  4. 20 Apr relational data bases | lecture | labs
Presentations | sessions 15-16
  1. 27 Apr designing a presentation | lecture | labs
  2. 04 May delivering a presentation | lecture | labs

What are the components of a relational database and
how do they compare with what we already know?

Relational Databases


a database is a collection of related data
a database management system (or DBMS) is a system designed for two main purposes
  1. to add, delete, and update data in the database
  2. to provide various ways to view (on screen or in print) the data in the database
a flat file database is one where all the data is contained in a single table, such as in Excel
a relational database is one in which you can store information in different tables, each containing different information that relates to information in the other tables

comparing flat file databases to relational databases

back to top

Why use a relational database design?

  • to eliminate unnecessary redundancy or repetition in storage and in steps required for database maintenance
  • to be able to distribute the database to multiple locations, each with a responsibility to maintain a part of the total database

back to top

So a relational database is characterized by

  • multiple tables, perhaps maintained by multiple locations
  • with relationships defined between the tables, so that the entire distributed, relational database works together

back to top

Entity Relationship Model of a Database

an entity-relationship model (ERM) is an abstract and conceptual representation of data. Entity-relationship modeling is a database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often a relational database, and its requirements in a top-down fashion. Diagrams created by this process are called entity-relationship diagrams (or ER diagrams)

One has choices in how to model the elements in a database. One of the standard textbooks on the topic (Elmasri, R., & Navathe, S. (2011). Fundamentals of database systems. Boston: Addison-Wesley.) offers a view of the several methods.

The purpose of a database is to store information about certain types of objects.
[let's use this example to discuss the topic]

To make the distinctions clear, we will use a color schema in which we use
terms relevant to entity relationship models and their correlates in Excel

ERModel entity set Excel worksheet
composed of entities composed of rows
which have attributes which have column cells

type ⇒⇒⇒⇒⇒⇒ ⇓⇓⇓⇓⇓⇓
ERModel entity set composed of entities which have attributes
Excel worksheets composed of rows which have column cells

An entity class

[like books] is an abstract definition of something

in Excel, there is no correlate as it is just a definition, not an example of a definition

An entity set

is the list of given entities/rows within a given entity class that are currently in the database/worksheet

in Excel, an entity set is a worksheet

an entity

[like a textbook for INLS161] is a concrete example of that description

in Excel, an entity is a row

An entity is composed of attributes

in Excel, attributes are columns

attributes/columns include information we want in the database
attributes/columns help to uniquely identify individual entities within a class
attributes/columns can describe relationships between entities in different classes

excel vs erm definitions

back to top

Primary and Foreign Keys

a Primary Key

is a set of attributes/columns that uniquely identifies an entity/a row

a Foreign Key

is a copy of the Primary Key
of one entity/row that appears as an attribute/column in another entity class/worksheet
and helps define the relationship between entities/rows in the two entity classes/worksheets

these keys link together the related entities/rows in a relational database/set of entity sets

back to top

20 April lecture | preps | erm | entities | relationships | sql