introduction. » how the course works ˃homework ˃project ˃exams ˃grades » prerequisite ˃csci...

Post on 26-Dec-2015

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CSCI 242Advanced Database

Introduction

2Agenda

» How the course works˃ Homework˃ Project˃ Exams˃ Grades

» prerequisite˃ CSCI 6441: Mandatory prerequisite˃ Take the prereq or get permission to take the course

» Goals of the course˃ Advanced topics˃ Topics that are often not understood˃ Realistic experience

» Workload˃ Heavy workload from the beginning˃ Workload gets much heavier when project starts

» Relational Principles˃ Why relational, why it matters

3Homework

» Weekly assignments» Assignments intended to be challenging and to

make an important point» Assignments to be submitted by email to

homework@csci6442.org» No attachments» Assignments due at the start of class» Late assignments are not accepted

4Project

» One project will involve the entire class» Work will be performed in functional teams» Every student must produce programs, will be

graded on personally produced results» You will need to program using MySQL, PHP,

and JavaScript; if you don’t know them start learning

» You need to already have programming skills to complete this course

5Project

» The project will be a questionnaire generator and evaluator of results

» One team will build the questionnaire builder and administrator

» Another team will build the data analysis» Both will be built as WordPress plugins

6Project Rights

» At the end of the project, each student will have access to all code written by the project

» Any student (and myself) are free to do anything desired with the project code

» You will receive an email asking you to agree to these stipulations

» If you have a problem with this approach, please speak up after class tonight

7Exams

» Midterm and final» Midterm will be closed book, in class» Midterm date will not change » Plan your schedule now:

˃ Be here for the midterm, no makeup exams˃ Be here for the final, no makeup exams

» Midterm will test your ability to work with concepts discussed in lecture and covered by homework

8Grades

» A: Good quality graduate work, only minor issues with correctness

» B: Acceptable graduate work, one or more major issues

» C: Not acceptable graduate work, several serious issues

» F: Does not show basic understanding

9Prerequisites

» CSCI 6441 is a mandatory prerequisite» Take it before this course» If you think you know the material, you need to

explain it and get permission» First assignment is intended to clear this up

10Goals

» Misunderstood topics˃ Normalization˃ Database design˃ Performance˃ SQL

» Advanced topics˃ Time in databases˃ Translucency˃ Performance

» Realistic experience˃ Realistic team size˃ Accountability˃ Emerging requirements

» Current Developments˃ Big data˃ NOSQL˃ Cloud Computing

11Workload

» This course is for advanced students who want to learn a lot and want to work hard

» If you’re not in a position to work hard, want to “slide by,” you are in the wrong course

» If you don’t know how to program, don’t want to learn PHP, MySQL and Flex (on your own), this is not the course for you

» But if you do want to be the database guru on a project at work, then stay in this course!

12Relational Principles

» Earlier database systems: hierarchies, networks as data models˃ Relationships represented as physical connections˃ Structure of relationship imbedded in applications

» Relational: independent table as data model˃ Relationships represented by equal values˃ Structure of relationships invisible to applications

13Relational Database

» Relational Database: a set of relations

14Relation

» Relation: a set of ordered pairs» Ordered pair: a pair of values, such that

interchanging the two values changes the meaning ˃ That is, <a,b>=<b,a> iff a=b and b=a

» Specifying a relation by enumeration:R={<a,b>,<c,d>,<e,f>}

˃ This is a relation consisting of three ordered pairs.

15Relation and File

» Ordered pairs can model more than two values through nesting:˃ <a, b, c> == <<a,b>, c>˃ <a, b, c, d> == <<a,b>, c, d>˃ And so on

» This extends the ordered pair so that it can model a tuple of any length

» Now a relation starts to look like our notion of a file, with each tuple corresponding to our notion of a record

16The Definition

» Relation is a set of ordered pairs (modeling a set of tuples), so:

» 1. exchanging order of values within a tuple changes the meaning of the tuple

» 2. exchanging the order of tuples within a relation does not change the meaning of the tuple

» 3. duplicate tuples are not allowed

17Data Modeling

» Now we build a database as a collection of independent relations, each describing instances of a single entity type

» For example:˃ Employee (employee#, job, salary, department)˃ Department (department#, departmentname, location)

(this is called schema notation)

18Data Language

» We need a way to insert data into the database, retrieve data from the database, and changes values that are stored in the database

» We define a data language that can be used from any programming language to do that

» The data language (SQL) has a lot of power and can save a lot of programming work if you understand it

» You’ll have a brief chance to learn more about SQL in this course

19Normalization

» Database courses talk about normalization» Students usually don’t learn more than

memorizing definitions» We will talk about Roberts’s Rules, plain English

rules that give you a highly normalized database» Then we will talk about the normalization rules

and what they mean in English» You will have the chance to really understand

how to do this

20Time

» Time in databases is a complex issue» There’s the time something happened and the

time it’s entered into the database» And there’s also the effective time, which may

differ from those two times» And there’s the need to capture a history of

previous values and roll back to it» We’ll examine all of these cases of time

21Translucency

» Typically the GRANT statement is used to give access to a database

» A DBA enters the statement, and a user has access

» But that’s not good enough if there may be thousands of people on the Web using a database

» We’ll study translucency, a way to provide access control without GRANT statement

22Responsibility

» Professional standards, like the work environment, will be followed:˃ Arrive at class on time˃ Submit homework on time˃ Limit answers to 50 words

23Class Web Site

» A class Web site has been established» Everything about the class is on it» Please read it» When changes are made to the site a note will

be sent to the class email list

24EMAIL list

» A class email list has been established» If you got the email sent today, then you’re on it» You can follow instructions on the Web site to

enroll a different email address

top related