Download presentation
Presentation is loading. Please wait.
Published byCameron Ray Modified over 9 years ago
1
Introduction
2
» 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 2
3
» Weekly assignments » Assignments intended to be challenging and to make an important point » Assignments to be submitted by email to homework@csci6442.org homework@csci6442.org » No attachments » Assignments due at the start of class » Late assignments are not accepted 3
4
» 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, Flex; if you don’t know them start learning » You need to have programming skills to complete this course 4
5
» 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 5
6
» 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 6
7
» 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 7
8
» 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 8
9
» 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! 9
10
» 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 10
11
» Relational Database: a set of relations 11
12
» Relation: a set of ordered pairs » Ordered pair: a pair of values, such that interchanging the two values changes the meaning ˃That is, = iff a=b and b=a » Specifying a relation by enumeration: R={,, } ˃This is a relation consisting of three ordered pairs. 12
13
» Ordered pairs can model more than two values through nesting: ˃ ==, c> ˃ ==, 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 13
14
» 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 14
15
» 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) 15
16
» 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 16
17
» 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 17
18
» 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 18
19
» 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 19
20
» Professional standards, like the work environment, will be followed: ˃Arrive at class on time ˃Submit homework on time ˃Limit answers to 50 words 20
21
» 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 21
22
» 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 22
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.