CS 377
Database Systems
Introduction and Course Information
1
Introduction and Course Information
Li Xiong
Department of Mathematics and Computer Science
Emory University
Meet your instructor� Dr. Xiong, Prof. Xiong, or Dr. X, Prof. X
� Previous teaching
� CS377 (CS457) in Spring 2007
� CS170, CS171 and graduate courses on database systems, data mining, data privacy and security
� Research
3
� Research
� data privacy and security, information management
� Assured Information Management and Sharing (AIMS) group
� More information
� http://www.mathcs.emory.edu/~lxiong
� I am committed to help you learn
� If you have any questions, concerns, suggestions
� Office hours: TuTh 4-5pm or by appointment, WSC E412
� Email me: [email protected]
Meet our class TA� Qi Guo, PhD student
� Responsibilities
� Grading written/programming assignments, projects and quizzes
� Running labs, if necessary, to prepare you for programming assignments
4
Running labs, if necessary, to prepare you for programming assignments
� Reach him
� Email: [email protected]
� Office hours: MW 4-5pm
Meet everyone in class
� Group introduction (~3 people)
� Introducing your group
� Name, year, major
� Why you are here
5
� Why you are here
� Something interesting about the group
What the class is about
� Fundamental concepts of databases and database
systems
� Data modeling and database design
� Database programming
7
Database programming
� Preview of database implementation and additional
topics
Database Systems
� Database: A collection of related data.
� Data: Known facts that can be recorded and have an implicit
meaning.
� Database Management System (DBMS): A software package/
system to facilitate the creation and maintenance of a
8
system to facilitate the creation and maintenance of a
computerized database.
� Database System: The DBMS software together with the data
itself. Sometimes, the applications are also included.
Evolution of DBMS
� Early 1960s
� first DBMS designed, Bachman (Turing award 1973)
� 1970
� relational data model, Codd (Turing award 1981)
9
� 1980s
� DBMSs in widespread use, relational model as dominant paradigm, SQL standardized
� Concurrent transaction management, Gray (Turing award 1999)
� 1990s - now
� Powerful query languages, richer data models, complex data, distributed databases, data warehouse, internet, …
Major DBMS Vendors/Products
� Oracle
� IBM (DB2)
� Microsoft (SQL Server, Access)
� Open source (MySQL, PostgreSQL)
10
� Open source (MySQL, PostgreSQL)
All are "relational" (or "object-relational") database
systems
Typical DBMS Functionality
� Define a database
� Data types, structures and constraints (meta-data)
� Manipulating the database� Querying
� Updating: insertions, deletions and modifications
11
� Additional functions
� Concurrent processing and sharing by a set of users and programs – yet, keeping all data valid and consistent
� Protection or security measures to prevent unauthorized access
People
� Actors on the scene
� Database administrator: sets up database software and
hardware, authorizes access, monitors its use
� Database designer: define the database, sets up schema,
loads data
12
loads data
� Database end user: queries/modifies data
� Database application programmer: build applications that
queries/modifies data
� Workers behind the scene
� DBMS implementer: builds DBMS system
Example: Banking system
� Data = accounts, customers, balances, current interest rates, transaction histories, etc.
� Defining data: account number, account name, …
� Manipulating the data: get balance, change account information …
� MULTI-USER: many people/programs accessing same
13
� MULTI-USER: many people/programs accessing same database, or even same data, simultaneously
� SAFE: (1) From system failures (2) From malicious users
� Database-System Studies� Design of databases
� Database programming
� Database system implementation
� Less traditional database topics
Database Curriculum
14
� Less traditional database topics� Distributed databases, P2P data management
� Text, semi-structured data, multimedia data
� Sensor networks, data streams
� Data warehouse and data mining
� Data privacy and security
� Bioinformatics
Emory Data(base) Courses
CS 377 Introduction to Database Systems
(DB Design, SQL Programming)
CS 554 Database Systems
(DB Implementation, Advanced Topics)
15
(DB Implementation, Advanced Topics)
CS570 Data Mining
CS572 Information Retrieval
CS573 Data Privacy and Security
CS 584 Advanced Database Systems
CS584 Stream Databases
Course Topics� Basic concepts
� Data independence, 3 level database architecture, database system
components
� Data modeling and design
� Entity-Relationship Model
� Relational Data Model
16
� Mapping from ER Model to Relational Model
� Relational database design theory - Normal Forms, Functional
Dependencies
� Database programming
� SQL Query Language (Structured Query Language)
� Oracle JDBC and JAVA
� Selected topics
� DBMS implementation; data warehousing and data mining; distributed
databases; data privacy and security; NoSQL
Textbook� Fundamentals of Database Systems (6th edition).
Ramez Elmasri and Shamkant Navathe
� 4th edition or later
18
Workload
� Written and programming assignments
� Programming project (team of up to 2 students)
� Midterm and final exam
� Reading and quizzes
19
� Reading and quizzes
Policies� Exams
� All exams must be taken promptly at the required time.
� Rescheduling midterm is possible if the request is made at least a week prior to the exam date
� Final can not be rescheduled.
� Late assignment policy� Late assignment will be accepted within 3 days of the due date and penalized
10% per day. No extensions will be given.
� 2 late assignment allowances, each can be used to turn in a single late
21
� 2 late assignment allowances, each can be used to turn in a single late assignment within 3 days of the due date without penalty.
� Honor code� College Honor Code and Departmental Policy
� It is acceptable and encouraged to discuss your assignments with other students but any writeup and code must be your own.
� Every program assignment must have the following comment included at the top of the file.
/*THIS CODE IS MY OWN WORK, IT WAS WRITTEN WITHOUT CONSULTING CODE WRITTEN BY OTHER STUDENTS. _Your_Name_Here_*/
Study Strategy
� Come to class, think and ask questions
� Stay updated through class web page
� http://www.mathcs.emory.edu/~cs377000
� Read the assigned book chapter/sections; review
22
� Read the assigned book chapter/sections; review
class notes
� Complete the assignments/projects on time
� Study for exams
� Come to office hours (TA and me)
� Enjoy and good luck!
Top Related