CSCI3170 Introduction to Database Systems

Slides:



Advertisements
Similar presentations
Use Case Diagrams.
Advertisements

BASIC SKILLS AND TOOLS USING ACCESS
Structured Query Language (SQL)
Relational Database and Data Modeling
The Reinberger Childrens Library Center Step-by-step instructions for capturing a MARC record and adding a 658 Tag to a record.
How To Use OPAC.
Exercise 1 Consider the ER diagram below. Assume that an employee may work in up to two departments or may not be assigned to any department. Assume that.
Chapter 7 Working with Databases and MySQL
© Abdou Illia MIS Spring 2014
Session 2Introduction to Database Technology Data Types and Table Creation.
© Paradigm Publishing, Inc Access 2010 Level 1 Unit 1Creating Tables and Queries Chapter 2Creating Relationships between Tables.
Microsoft Access.
Chapter Information Systems Database Management.
Creating Tables. 2 home back first prev next last What Will I Learn? List and provide an example of each of the number, character, and date data types.
the Entity-Relationship (ER) Model
1 CS 446 – Tutorial 6 Frid. Nov. 6 th, 2009 Implementation Tutorial.
MS-Access XP Lesson 1. Introduction to MS-Access Database Management System Software (DBMS) Store data in databases Database is a collection of table.
Managing Users. Overview for School Admin Users Define Users Users Module Add Users Importing Users and Groups Manually adding users Search for Users.
Chapter 15 A Table with a View: Database Queries.
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Huiswerk Lees delen 3.2, 3.3 van hoofdstuk 3. opgaven voor hoofdstuk 2: modelleeropgave 5.
© Copyright 2011 John Wiley & Sons, Inc.
Introduction to Structured Query Language (SQL)
Introduction to Structured Query Language (SQL)
U:/msu/course/cse/103 Day 16, Slide 1 CSE 103 Day 16 Students: Read Day 10. If you are logged in, add records to your contacts.
Chapter 7 Data Management. Agenda Database concept Import data Input and edit data Sort data Function Filter data Create range name Calculate subtotal.
Table design screen Field name Data type Field size Other properties.
Introduction to Structured Query Language (SQL)
Relational Databases What is a relational database? What would we use one for? What do they look like? How can we describe them? How can you create one?
Case study Lisa’s Bookstore IST210.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
DATA, DATABASES, AND QUERIES Managing Data in Relational Databases CS1100Microsoft Access - Introduction1.
Web Database Design Session 6 and 7 Matakuliah: Web Database Tahun: 2008.
Introduction to Internet Engineering Tutorial 7 All about Assignment 2 By Tse Hok
Session 5: Working with MySQL iNET Academy Open Source Web Development.
2.3 Organising Data for Effective Retrieval
ASP.NET Programming with C# and SQL Server First Edition
Database Programming in Java Corresponds with Chapter 32, 33.
PHP Programming with MySQL Slide 8-1 CHAPTER 8 Working with Databases and MySQL.
Views, Indexes and JDBC/JSP tutorial Professor: Dr. Shu-Ching Chen TA: Haiman Tian 1.
CSCI3170 Introduction to Database Systems
Chapter 7 Working with Databases and MySQL PHP Programming with MySQL 2 nd Edition.
1 Working with MS SQL Server Textbook Chapter 14.
Introduction to Databases Trisha Cummings. What is a database? A database is a tool for collecting and organizing information. Databases can store information.
7 1 Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
M1G Introduction to Database Development 2. Creating a Database.
Chapter 1Introduction to Oracle9i: SQL1 Chapter 1 Overview of Database Concepts.
Index and JDBC/JSP tutorial Professor: Dr. Shu-Ching Chen TA: Hsin-Yu Ha.
6 1 Lecture 8: Introduction to Structured Query Language (SQL) J. S. Chou, P.E., Ph.D.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
1 CSE 2337 Introduction to Data Management Access Book – Ch 1.
Computers in the Library A database application. Input and Output Devices Input Keyboard Mouse Scanner / light pen Output VDU / screen / monitor Printer.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Chapter 9 Designing Databases 9.1.
CS 111 – Nov. 8 Databases Database Management Systems (DBMS) Structured Query Language (SQL) Commitment –Please review sections 9.1 – 9.2.
Entity Relationship Diagram (ERD). Objectives Define terms related to entity relationship modeling, including entity, entity instance, attribute, relationship.
Sample Table Standard Notation Entity name in uppercase
CSCI 6962: Server-side Design and Programming Shopping Carts and Databases.
Howard Paul. Sequential Access Index Files and Data File Random Access.
Software. Because databases can get very big, it is important to decide exactly what is going to be stored in each field. Fields can be text, number,
INFORMATION TECHNOLOGY DATABASE MANAGEMENT. A database is a collection of information organized to provide efficient retrieval. The collected information.
DATA MODELING AND ENTITY-RELATIONSHIP MODEL II IST 210: Organization of Data IST210 1.
Databases Chapter 9 Asfia Rahman.
 2012 Pearson Education, Inc. All rights reserved.
JDBC.
INFO/CSE 100, Spring 2005 Fluency in Information Technology
Chapter 8 Working with Databases and MySQL
Chapter 22 - SQL, MySQL, DBI and ADO
Advanced Database Concepts: Reports & Views
Grauer and Barber Series Microsoft Access Chapter One
Presentation transcript:

CSCI3170 Introduction to Database Systems Tutorial 3 – Project Specification By Kester Lee

An overview of the course project General Information

Tutorials will be given on Linux, JAVA and Oracle Introduction Library Inquiry System Command line interface (in JAVA) Database Management System (Oracle) Platform CSE Linux machine With JAVA JDK 7.0 Oracle Database For storing the data Tutorials will be given on Linux, JAVA and Oracle

Accounts The following accounts will be provided Account Usage CSE Unix account (For non-CSE students) Access the Linux machines Connect to the CSE VPN Oracle account (For each student) Connect to the database

Grouping Grouping Each group should have three members If you want to form a one-person group or a two-person-group, please send an email to the tutor You will be randomly assigned to a group if you are not in a group after the registration period

* The deadlines are subjected to change Milestones Phase Deadline Tasks Group Registration 6/2/2015 Form a group Phase 1 13/3/2015 Draw an ER-diagram Translate into a relation schema Phase 2 10/4/2015 Write a JAVA application Write a read me file DEMO TBA Demonstrate your works * The deadlines are subjected to change

Data Specification The data are in four categories Library users Books Checked-out records They are the format of the data files only Not meant to be the tables in the final schema

Data Specification User categories Category ID: A unique identifier for a category Max Books: The maximum number of books that can be borrowed by the library user in the corresponding category. Loan Period: The number of days that a user can borrow a book in the corresponding category.

Data Specification Library users User ID: A unique identifier of a user (like student id in CUHK library system) Name: The name of a user Address: The address of a user Category ID: It indicates which category the library user belongs to.

Data Specification Books Call number: It is used for the library users to search for the book. Number of copies: The number of identical copies of a book Title: The title of a book Author(s): Author name(s) of the book concatenated as a string with comma character as the delimiter. Date of publication: The date that a book is published

Data Specification System All numerical values are less the 232 The system is case sensitive All dates is expressed as DD/MM/YYYY and have the same time zone as Hong Kong. Your program may assume that any value entered into any input field is correct in format only. Your program may assume that any data file inputted into it doesn’t have duplicated row and is correct in format and content.

Assumptions and Regulations Categories Each category has a unique category id and it can be used to identify a category. Some library users may have the same maximum loan period or number of book that can be borrowed. Library Users Each library user has a unique user id and it can be used to identify a library user. Some library users may have the same name or the same address. A user can only belong to one user category

Assumptions and Regulations Books Each book has a unique call number and it can be used to identify a book. Some books may have the same title. A book copy refers to a physically existing book in the library. Each book copy has a unique pair of call number & copy number and they can be used jointly to identify a book copy. The book copy has a copy number begins with 1. Each book must have at least one author. An author can be uniquely identified by his/her name. An author may write more than one book.

Assumptions and Regulations Checked-out records Each check-out record has a unique set of {Call number, Copy number, User ID and Check-out date} and this set of attributes can be used to identify a check-out record. Some library users may never check out any book copies. Some book copies may have never been checked out. A user may borrow same book copy for more than 1 time. The return date of a book copy is NULL if the book copy is not returned.

ER-diagram and relation schema Project Phase 1

Workflow STEP 1: Read Sections 3 and 4 of the specification STEP 2: Draw the ER-diagram accordingly STEP 3: Transform into a relation schema STEP 4: Remove any redundancy in the schema

Remarks Four input files does not mean that there are four entities in the ER-diagram You may need to add extra attributes or transform the existing attributes The relation schema should clearly show the key relationships The relation schema should not consist of redundant information

Project Phase 2: JAVA APPLICATION Requirements for the JAVA application Project Phase 2: JAVA APPLICATION

Workflow STEP 1: Read Section 5 of the specification STEP 2: Write the JAVA application STEP 3: Test with the provided data set STEP 4: Test with other data sets

System Functions You have to implement three set of functions Functions for administrator Functions for librarian Functions for library director You need to implement all functions in a command line program

System Functions Functions for administrator Create table schemas in the database Delete table schemas in the database Load data into the database Your system should read data files from a user defined directory and insert data in those data files into the database Please make sure that it can read the sample data provided Show the information of the database List the existing tables and the numbers of records

System Functions Functions for librarian Search for books (only one method per query) By call number (exact matching) By title (partial matching) By author (partial matching) Output should include Call number Title Author(s) Number of available copies The results of the query should be sorted in ascending order of call number

System Functions Functions for librarian Show all check-out records of a library user By user ID (exact matching) Output should include Call number Copy number Title Author(s) Check out date The book copy of the corresponding check-out record is returned or not. The check-out records should be sorted in descending order of check-out date

System Functions Functions for library director Show total number of book checked-out within a period: The library director enters the start date and end date The program will perform the query and return the total number of book checked-out within the inputted period inclusively. Show the N books that are most often to be overdue: The library director enters a number N The program return the N books that are most often to be over-due in terms of call number, title and total number of over-due. The books should be sorted in descending order of number of over-due as the table below. For the sake of simplicity, the check-out record with a null return date is ignored

Q&A