Presentation is loading. Please wait.

Presentation is loading. Please wait.

Instructor: Zhe He Department of Computer Science

Similar presentations


Presentation on theme: "Instructor: Zhe He Department of Computer Science"— Presentation transcript:

1 Spring 2013 CS 103 Computer Science – Business Problems Lecture 11: Database Management System
Instructor: Zhe He Department of Computer Science New Jersey Institute of Technology 1/11/2019

2 Database Management Systems
Database management system (DBMS) Store large collections of data Organize the data Becomes a data storage system Discussion point Ask your student if anyone knows why sorting by zip code is important. Hopefully, someone knows that the post office provides a discount on presorted mail.

3 The Database Stores a collection of related items
Collection is arranged in a structure Organizes and describes the data Often includes helper documents Two different types Teaching tip Figure 11A.2 on page 423 describes the database structure

4 Database Structure Field Name Record Field

5 The Database Fields Hold an individual piece of data
Are named descriptively Often called a column Phone book examples Name, address, , phone number Fields may contain no data Last Name Smith Lin Luis

6 The Database Records One full set of fields Often called a row
Databases may have unlimited rows Last Name First Name Address Phone # Smith Joe 10 Harrison Ave, Harrison, NJ Lin Ying 30 fork Str, Newark, NJ Luis Hu 12 Rose Str, Kearny, NJ

7 The Database Tables One complete collection of records
Databases may have thousands of tables Last Name First Name Address Phone # Smith Joe 10 Harrison Ave, Harrison, NJ Lin Ying 30 fork Str, Newark, NJ Luis Hu 12 Rose Str, Kearny, NJ

8 Flat-file Databases Typically has only one table
If multiple, each has a separate file Useful for simple data storage needs Hard to manage large data needs Can waste disk space Teaching tip Start your students thinking about real databases, with millions of records. Using PA instead of Pennsylvania saves 10 bytes per record. In a database with 1 million records, this saves 10,000,000 bytes. This is roughly equal to a stack of 10 floppy disks

9 Relational Databases Made of two or more tables
Tables are related by a common field Called a relationship or join Can help organize data Most common form of database Maintaining data is easier than flat-file No wasted disk space Teaching tip To demonstrate the power of relationships, setup a flat file database with music, artists, CD and year released. Demonstrate how difficult and wasteful it is to store several songs by the same artist and CD. Be sure to make several typing mistakes. Then build the same structure relationally. Create music, artist and CD tables. Join the artist and CD to the music table. Now show how easy it is to add songs from the same CD. While creating this database, it helps to use music the students know.

10 Symbols on ER Diagram ssn Person name Wedding Is-insured Entity Type
Attribute Is-insured Relationship Type Wedding Weak Entity Type ssn Key Attribute

11 ER Diagram degree department gender room name Student CID name time
Course UCID department credits Teach Take gender name UCID degree Instructor

12 Cardinality in E-R diagram
One-to-one (1:1) 1 1 Marry Man Woman One-to-many (1:n) 1 M Fulfill Order Customer Many-to-many (n:m) M N Take Student Course NOTE: Every many to many relationship consists of two one to many relationships working in opposite directions

13 ER Diagram cont. degree department gender room name Student CID name
time Course M UCID department N N credits Teach Take 1 gender name UCID degree Instructor

14 Full participation degree department gender room name Student CID name
time Course M UCID department N N credits Teach Take 1 gender name UCID degree Instructor

15 ER Diagram

16 The DBMS Programs that control the database Allows
Entering data Querying data Printing reports Supports thousands of users Includes tools to protect the data Teaching tip Protecting databases is similar to network administration, covered in chapter 9. Access to read and change data is limited to a list of allowed users.

17 Working with a Database
Creating tables List the necessary fields Steps to define a field Descriptively name the field Specify the field type Determine the field size

18 Working with a Database
Field types Describes the type of data stored Most DBMS use the same types Text fields store letters and numbers Numeric field store numbers Date and time field Logical field stores yes or no Binary field stores images or sounds Counter field generates sequential numbers Memo fields store large amounts of data Teaching tip Dates are stored sequentially in a database. 0 is January 1, 1970 at midnight. 1 is one millisecond after midnight on January 1, Each date represents the number of milliseconds from January 1, 1970.

19 Working with a Database
Entering data into a table Users type data into a field Data must be entered accurately Constraints help to verify data Forms are typically used for data entry

20 Working with a Database
Viewing records Datasheet view shows all records Filters can limit the records shown Display only records matching a criteria Forms allow viewing one record

21 Working with a Database
Sorting records Order records based on a field Multiple sub sorts resolve ‘ties’ Several types of sorts Alphabetic Numeric Chronological Ascending Descending Teaching tip Using a DBMS, demonstrate the power of sorting for the class.

22 Working with a Database
Querying a database Statement that describes desired data List of fields can be modified Uses of querying Find data Calculate values per record Delete records Most important DBMS skill Teaching tip Page 432 and 433 show examples of the different querying languages.

23 Working with a Database
Query languages All DBMS use a query language Most DBMS modify the language Structured Query Language (SQL) Most common query language xBase Query language for dBase systems Query by example (QBE) Interface to SQL or xBase Interactive query design

24 Query Examples SQL xBase Select FirstName, LastName, Phone
From tblPhoneNumbers Where LastName=“Norton”; xBase Use tblPhoneNumbers List FirstName, LastName, Phone For LastName=“Norton”

25 Query Examples degree department gender room name Student CID name
time Course M UCID department N N credits Teach Take 1 gender name IID Instructor

26 Mapping 1. Entities Student (UCID, name, gender, degree, department)
Course (CID, name, room, time, department, credits) Instructor (IID, name, gender)

27 Mapping 2. M-N Relationships 3. N-1 Relationships (full participation)
Take (UCID, CID) 3. N-1 Relationships (full participation) Course (CID, name, room, time, department, credits, IID)

28 Schema from E-R Diagram
Student (UCID, name, gender, degree, department) Take (UCID, CID) Course (CID, name, room, time, department, credits, IID) Instructor (IID, name, gender)

29 Database Creation SQL (1)
Create table Student ( UCID varchar(20), name varchar(100), gender varchar(1), degree varchar(20), department varchar(20), PRIMARY KEY (UCID))

30 Database Creation SQL (2)
Create table Instructor ( IID varchar(20), name varchar(100), gender varchar(1), PRIMARY KEY (IID))

31 Database Creation SQL (3)
Create table course ( CID varchar(20), name varchar(100), room varchar(1), time varchar(20), department varchar(20), credit int, IID varchar(20), PRIMARY KEY (CID), FOREIGN KEY (IID) REFERENCES Instructor(IID) )

32 Database Creation SQL (4)
Create table take ( UCID varchar(20), CID varchar(100), PRIMARY KEY (UCID, CID), FOREIGN KEY (UCID) REFERENCES Student(UCID), FOREIGN KEY (CID) REFERENCES Course(CID) )

33 Inserting data SQL queries
INSERT INTO Student VALUES (‘ac123’, ‘Mike Liu’, ‘M’, ‘BS’,’Management’) INSERT INTO Instructor VALUES (‘zh5’, ‘Zhe He’, ‘M’) INSERT INTO Course VALUES (‘CS103’, ‘Computer Science – Business Problem’, ‘MALL PC 40’, ‘TR ’,’CS’,3,’zh5’) INSERT INTO take VALUES (‘ac123’, ‘CS103’)

34 Query examples SELECT UCID FROM students SELECT name
List all the students’ UCID SELECT UCID FROM students List all the students in Architecture department SELECT name WHERE department = ‘Architecture’

35 Query examples SELECT S.UCID, S.name FROM Students S, Take T
List all the students who are taking CS103 SELECT S.UCID, S.name FROM Students S, Take T WHERE S.UCID = T.UCID AND T.CID = ‘CS103’ List all the instructors who are teaching CS courses SELECT I.name FROM Course C, Instructor I WHERE C.IID = I.IID and C.department = ‘Computer Science’

36 Working with a Database
Generating reports Printed information extracted from a database Can calculate data Calculate data per row Calculate for entire table Pictures and formatting can be included

37 Databases at Work Knowledge discovery Technique of databases
Generates questions for the database Those you did not think to ask

38 Databases at Work Data mining Type of knowledge discovery
Searches for trends and patterns Makes predictions on events Supplies ideas for improving business Teaching tip Demonstrate this using Search for an author (Lee Cottrell works well!) and open one of the book entries. Below the description you will see several links describing suggested products. Data mining provides these links.

39 Databases at Work Internet uses Commercial websites use databases
Supply image and price information Specialty databases exist online Search engines track links Teaching tip Access a few specialty databases in class to demonstrate their power. An excellent example is terraserver.Microsoft.com.

40 Databases at Work Databases for individuals
Manage aspects of your life Organizes hobbies for school Microsoft Access is the most popular Discussion point An employer for my school suggested a way to improve student marketability. He states that he looks for the student that has gone beyond their studies at school and applied their learning to a hobby. As an example, he hires people with databases for their music or personal web sites.

41 Common Corporate DBMS Oracle Most popular enterprise-level DBMS
Very flexible storage system Can be very complex Platform independent Offers a wide range of solutions

42 Common Corporate DBMS DB2 Venerable IBM database Platform independent
Only database using pure SQL Teaching tip Remind students that SQL stands for Structured Query Language.

43 Common Corporate DBMS Microsoft SQL Server Fastest growing DBMS
Only runs on Microsoft platforms Eight different versions exist Extremely scalable architecture Software can grow with the data

44 Common Corporate DBMS MySQL Leading DBMS for Linux Very inexpensive
Features are those needed in business Often faster than other DBMS Platform independent Teaching tip An interesting article contrasting the strengths and weaknesses of these products can be found at


Download ppt "Instructor: Zhe He Department of Computer Science"

Similar presentations


Ads by Google