CS 377 Database Systems - Emory Universitylxiong/cs377_f11/share/slides/01_intro.pdfCS 377 Database...

23
CS 377 Database Systems Introduction and Course Information 1 Introduction and Course Information Li Xiong Department of Mathematics and Computer Science Emory University

Transcript of CS 377 Database Systems - Emory Universitylxiong/cs377_f11/share/slides/01_intro.pdfCS 377 Database...

CS 377

Database Systems

Introduction and Course Information

1

Introduction and Course Information

Li Xiong

Department of Mathematics and Computer Science

Emory University

Today

� Meet everybody in class

� Course introduction

� Course logistics

2

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

Today

� Meet everybody in class

� Course introduction

� Course logistics

6

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

Today

� Meet everybody in class

� Course introduction

� Course logistics

17

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

Grading

� Assignments/projects 50%

� Midterm 20%

� Final 25%

� Quizzes 5%

20

� Quizzes 5%

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!

23