Home
Research Profile
Teaching Profile
Professional Profile
Education
Personal Profile
Contact Information

Course Title

EECS/IT 746: Database Systems (Fall 2020)
Mondays, 6:10-9:00 PM, Synchronous Zoom Sessions (Course Number: 26510)
Course Web Site: people.eecs.ku.edu/~saiedian/746

Prerequisites and Expected Audience. Eligibility for upper division EECS courses (or industrial experience in software development and programming). This course is intended for database engineers, software engineers, database managers, and graduate students in IT or computer science. Graduate standing in EECS, introductory courses in software engineering or systems analysis, or industrial experience in software development is assumed. Thought this may not be the absolute requirement, a student is expected to have a relatively good background in computing and discrete mathematics (and a working knowledge of Linux especially if the student wishes to use a Linux-based database system).

Instructor

Professor Hossein Saiedian
Offices: BEST 250 and Nichols 155
Telephone: 785-864-8812 or 913-897-8515
E-Mail: saiedian at ku.edu
WWW: people.eecs.ku.edu/~saiedian
Virtual Office Hours (Zoom/Phone Call): Mondays, 1:00-5:00 PM (and by appointment)

Zoom ID

The Zoom ID for class sessions and virtual office hours is as follows (password will be provided privately):

Course Overview/Outcomes

The objective of this course is to provide a relatively comprehensive introduction to the modeling and design of databases and the uses of a database management systems (DBMS). Conceptual modeling via entity-relationship (ER) diagrams and UML, the relational data model, database design (functional dependencies, normal forms), query languages such as relational algebra and SQL, database design concepts such as integrity constrains, triggers, query optimization, transactions processing and concurrency control, and more recent topics such as database security, distributed databases, big data, and non-SQL databases data will be covered.

Learning outcomes. (1) Develop an understanding of a database management system and its role in an enterprise, (2) Develop skills is conceptual modeling via ER or UML, (3) Understand the relational model and its key concepts, (4) Map a conceptual model to a relational model, (5) Normalize a relational model to remove/minimize anomalies, (6) Develop query manipulation statements via relational algebra, (7) Develop physical database definitions via SQL DDL (8) Develop query manipulation statements via SQL (9) Understand other database models such the object model and No-SQL model, (10) Understand other database concepts such as transaction processing and database recover, (11) Understand emerging topics such as big data and data science, (12) Understand emerging topics such database security, (13) Understand database APIs and distributed databases, (13) Understand emerging topics such as cloud computing and DBaaS

Textbooks

R. Elmasri and B. Navathe, Fundamentals of Database Systems, 7th edition, Pearson, 2016.








Another excellent textbook: Abraham Silberschatz, Henry Korth, and S. Sudarshan, (Author) Database System Concepts, 7th edition, McGraw-Hill, 2020.

Please visit the textbooks' websites for updates and errata.

The primary textbook is used for both undergraduate and graduate courses on (introduction to) database systems. As such many of its chapters will be briefly covered but students are required to thoroughly read them, especially if they do not have formal education in computer science or IT. Our objective is to spend more time on advanced topics such as database design and more emerging database topics.

Supplementary information for the course  (e.g., PowerPoint slides, class announcements, the course syllabus, test dates, and other information) will be made available online. Students are responsible for lecture notes, reading assignments, as well as items distributed during the classroom sessions. Students are also responsible for regularly visiting the class website for topics covered and any date changes.

The order of chapter coverage may be different from the textbook. Unless explicitly stated, students are responsible for all sections in a chapter. In addition to the materials from the main textbook, students are responsible for lecture notes, reading assignments, as well as items distributed during the classroom sessions. Important reading materials as well as lecture slides will be placed on the class website.

Other Resources

Useful readings and tutorials (including slides from other sources will be made available (see the links below) and may be a part of the weekly lecture presentations. In addition to the above, students should also develop a habit of regularly browsing such journals as IEEE Computer, IEEE Software, and Communications of the ACM.

Lecture Notes

Readings

MySQL

Evaluation Criteria (Subject to revision)

Students will be evaluated as follows:

  • Grade Distribution

    * Quizzes and exams: 70%

    * Special project: 10%

    * Team project and individual assignments: 30% (The term project will have at least five components each worth 50 points that will be due in approximately three week intervals.)

  • Grading Scale
    A = 90%..100%
    B = 80%..89%
    C = 70%..79%
    D = 60%..69%
  • No make-up quizzes are given. No late work will be accepted. (Certain exceptions may be made for family emergencies, religious observance, and illnesses.)
  • All written work must be typeset. It is OK to draw diagrams by hand and then scan them, but they must be legible.

Special Project Options

The "special project" provides an opportunity for each student to become an expert in an area related to the topic of the course. It can include a term paper or a thorough, workshop-like, 90--120 minute presentation that covers a related topic in-depth. A special project topic will have to be approved.

Workshop presentation (90-120 minutes) limited to 1-2 students. Those interested in a presentation should choose an emerging topic, should have experience in long, lively, and engaging presentations and should begin their preparation immediately. Carefully follow the Guidelines for Making a Presentation. A proposal (workshop topic, justification, list of resources, and the tentative date for the presentation) should be submitted by the third week of the semester.

Term paper. Those who would like to do a term paper may choose an applied research topic, e.g., an evaluation or comparison of certain methodologies for a real case study (or a reconstruction of a case study reported in literature). Another option is to make an objective evaluation of several research projects tackling the same problem. Other ideas are welcome. Guidelines for Writing a Term Paper have to be carefully followed. The paper decision and the tentative topic should be made by the third week of the semester.

Weekly Schedule

The following is the weekly semester schedule of lecture topics and all related curricular activities. Some referenced documents may be password-protected. The password will be publicized in class.

Week 1: Monday August 24

Discussion topics: Course syllabus and course review, Term project selection and review, Term project team formation, Introduction to database management system

Readings: Chapter 1: Databases and Database Users

Assignments: TBD


Week 2: Monday August 31

Discussion topics: Database Systems Concepts and Architecture, Data Modeling Using the Entity Relationship (ER) Model

Readings: Chapter 2: Database Systems Concepts and Architecture, Chapter 3: Data Modeling Using the Entity Relationship (ER) Model

Assignments: TBD


Week 3: Monday September 7

Discussion topics: Data Modeling Using the Entity Relationship (ER) Model, The Enhanced Entity Relationship (EER) Model, UML

Readings: Chapter 3: Data Modeling Using the Entity Relationship (ER) Model, Chapter 4: The Enhanced Entity Relationship (EER) Model

Other topics:

Due: Team Projects: A vision statement and/or a scope definition for the term project. Objective of the vision/scope statement: Motivation and scope definition, the choice of a DBMS (e.g., mySQL?), system users (users and applications), interface choice (e.g., web-based?), storage and processing requirements. Also include team title, team members, a description of tentative roles for each member, team member skills, contact information, etc.


Week 4: Monday September 14

Discussion topics: The Relational Data Model and Relational Database Constraints, The Relational Algebra

Readings: Chapter 5: The Relational Data Model and Relational Database Constraints, Chapter 8: The Relational Algebra

Assignments: TBD


Week 5: Monday September 21

Discussion topics: Relational Algebra, Introduction to SQL

Readings: Chapter 8: The Relational Algebra, Chapter 6: Basic SQL

Assignments: TBD


Week 6: Monday September 28

Discussion topics: More SQL: Complex Queries, Triggers, Views, and Schema Modification, Relational Database Design by ER- and EER-to-Relational Mapping

Other topics: Paper/workshop (special project) proposal is due

Other topics: Exam 1

Readings: Chapter 7: More SQL: Complex Queries, Triggers, Views, and Schema Modification, Chapter 9: Relational Database Design by ER- and EER-to-Relational Mapping

Assignments: TBD


Week 7: Monday October 5

Discussion topics: Database Design Theory and Normalization

Readings: Chapter 14: Basics of Functional Dependencies and Normalization for Relational Databases

Assignments: TBD

Other topics:

Due: Team Projects: A formal statement of the requirements and the conceptual model. The objective of the statement is to more formally describe the functional and non-functional requirements of the database system. Include appropriate comments about conceptual modeling. Include an ER (or UML) diagram for the problem. Be sure to underline the key attributes, show multiplicity, full/partial participation, specialization and generalization, etc., when applicable.


Week 8: Monday October 12

Discussion topics: Relational Database Design Algorithms and Further Dependencies

Readings: Chapter 15: Relational Database Design Algorithms and Further Dependencies

Assignments: TBD


Week 9: Monday October 19

Discussion topics: Relational Database Design Algorithms and Further Dependencies

Readings: Chapter 15: Relational Database Design Algorithms and Further Dependencies

Assignments: TBD


Week 10: Monday October 26

Discussion topics: Introduction to SQL Programming Techniques, Web Database Programming Using PHP

Other topics: Exam 2

Readings: Chapter 10: Introduction to SQL Programming Techniques, Chapter 11: Web Database Programming Using PHP

Assignments: TBD


Week 11: Monday November 2

Discussion topics: Various DB topics: Object databases, Non-SQL databases, big data, concurrency, transactions processing, database recovery, distributed databases

Due: Detailed outline for the term paper or workshop

Readings: Mostly lecture notes Sections of the following chapters: 12, 20, 21, 22, 23, 24, 25

Assignments: TBD

Other topics: Due: Team Projects: The logical relational model and schema (DDL in SQL), The objective: Map (transform) the conceptual schema in ER (or UML) into the data model of the chosen DBMS (in our case, the relational model), identify the functional dependencies, normalize the resulting relations, and to define external views. Be sure to clearly show the relations (tables), their attributes, primary and foreign keys. For each relation, indicate its functional dependencies and its normal form.


Week 12: Monday November 9

Discussion topics: Various DB topics: Object databases, Non-SQL databases, big data, concurrency, transactions processing, database recovery, distributed databases

Readings: Sections of the following chapters: 12, 20, 21, 22, 23, 24, 25

Assignments: TBD


Week 13: Monday November 16

Discussion topics: Various DB topics: Object databases, Non-SQL databases, big data, concurrency, transactions processing, database recovery, distributed databases

Readings: Sections of the following chapters: 12, 20, 21, 22, 23, 24, 25

Assignments: TBD

Other topics: Due Team Projects: Physical database design and implementation. The objective is to define and implement the actual relations (tables), populate the relations with meaningful data, implement any necessary transactions or embedded program or online scripts. Provide SQL DDL definitions for your database. Provide a listing of each (mySQL) relation and its data. If your database will have Web interfaces, provide snapshots of such interfaces.


Week 14: Monday November 23

Discussion topics: Database APIs and data distribution, DBaaS, Database on the clouds, Database security

Readings: Sections of the following chapter: 30

Assignments: TBD


Week 15: Monday November 30

Other topics: Team Projects: Presentations and demos; Project portfolios including the user's manuals. presentation objective: 25-minute presentation by each team to present the design (architecture and the rationale) for their database project and to demonstrate (outside classroom) the best features of the project. The presentations normally should focus on the ER diagram (to provide a conceptual view), discuss the resulting relations (keys, attributes, etc.) and their normal form, a rationale for the normal form achieved, and a sampling of interesting SQL queries and their output.

Other Topics: Team presentations


Week 16: Monday December 7

Other topics: Comprehensive Final Exam


Attendance, classroom presentations by students or guest speakers

Attendance is important and required. If a student misses a class session, he or she will be entirely responsible for learning the materials missed without the benefit of a private lecture on the instructor's part. Furthermore, the student will be responsible for finding out what assignments may have been given and when they are due.

We may have student and/or guest presentations. Students are expected to actively participate in all classroom presentations and discussions, ask questions, and regularly make contributions such as offering comments, responding with good answers, and providing feedback.

Suggested readings

The textbook is an excellent survey and tutorial resource. Most up-to-date topics on topics discussed in class can be found in technical journals and recent conference proceedings. Students should develop a habit of regularly browsing IEEE Software, IEEE Computer, Communications of the ACM, IEEE Security & Privacy, IEEE Network, IEEE IT Professional, IEEE Cloud Computing, and similar magazines.

Email communications

E-mail communication is fast, flexible, and effective. You are expected to have an @ku.edu email account and regularly check it. Important classroom notes will be communicated via email.

You are a graduate student registered in a graduate course offered by the School of Engineering at the University of Kansas, a top regional and a nationally ranked institution. Your communications, especially written communications (composition, grammar, spelling, punctuation, etc), must reflect that status.

Do not send email in HTML format; it will not be processed. Unless you are specifically asked to send a document (in PDF format), send text-only emails in text-only format.  See the Guidelines for Submitting Electronic Documents.

Common policies

In-classroom policy. Students are expected to come to the class on time, be attentive and engaged, conduct themselves professionally, engage in informative discussions, and avoid anything that could cause a distraction or detrimental either for other students learning or for the instructor's presentations. Profanity and swearing is not allowed.

Academic integrity/dishonesty policy. The definitions and consequences of institutional academic integrity policies will used. Academic dishonesty "includes giving or receiving of unauthorized aid on examinations or in the preparation of assignments or reports, knowingly misrepresenting the source of any academic work, falsification of research results, and plagiarizing of another's work."

Please take the KU Academic Integrity Quiz. Also, please see the following section entitled "Academic integrity during the pandemic."

Late exam-taking policy. If a student will have to take an exam at a later time (due to an excused and verified absence), he or she will be asked to make the following pledge and sign it: I have been granted the privilege to take this exam on _____________ because I was unable to take it on ______________ due to an excused absence. I pledge that I will not obtain from anyone by any means (in writing, speaking or via digital communications) any information about the exam.

Attendance policy. Attendance is important and required. If a student misses a class session, he or she will be entirely responsible for learning the materials missed without the benefit of a private lecture on the instructor's part. Furthermore, the student will be responsible for finding out what assignments may have been given and when they are due. Exceptions will be made for family emergencies, religious observance, and illnesses. Verification of absence may be required.

Cell phone policy. Cell phones should be turned off before coming to the classroom. Cell phone use for the purposes of texting, email or other social media should be avoided. Earphones for music are OK during lab work or individualized problem solving, as long as the volume allows you to hear announcements. Also cell phone or other cameras may be used to photograph projects and the whiteboard but avoid shots that include the presenter.

Laptop policy. It is OK to use laptops, tablets or similar devices for taking notes but turn off audio and avoid any possible uses (e.g., Web surfing or social media visits) that could cause distraction for others.

Incomplete grade policy. "Incomplete (I) grades are used to note, temporarily, that students have been unable to complete a portion of the required course work during that semester due to circumstances beyond their control. Incomplete work must be completed and assigned an A-F or S/U grade within the time period prescribed by the course instructor. After one calendar year from the original grade due date, an Incomplete (I) grade will automatically convert to a grade of F or U, or the lapsed grade assigned by the course instructor."

Accommodations for students with disabilities. The University of Kansas is committed to providing equal opportunity for participation in all programs, services and activities. Requests for special accommodations may be made thru the KU Student Access Services.

KU's diversity policy statement. As a premier international research university, the University of Kansas is committed to an open, diverse and inclusive learning and working environment that nurtures the growth and development of all. KU holds steadfast in the belief that an array of values, interests, experiences, and intellectual and cultural viewpoints enrich learning and our workplace. The promotion of and support for a diverse and inclusive community of mutual respect require the engagement of the entire university.

KU's sexual harassment policy. The University of Kansas prohibits sexual harassment and is committed to preventing, correcting, and disciplining incidents of unlawful harassment, including sexual harassment and sexual assault. Sexual harassment, sexual violence, and a hostile environment because of sex are forms of sex discrimination and should be reported. (“Sexual Harassment” means behavior, including physical contact, advances, and comments in person, through an intermediary, and/or via phone, text message, email, social media, or other electronic medium, that is unwelcome; based on sex or gender stereotypes; and is so severe, pervasive and objectively offensive that it has the purpose or effect of substantially interfering with a person’s academic performance, employment or equal opportunity to participate in or benefit from University programs or activities or by creating an intimidating, hostile or offensive working or educational environment.)

Commercial note-taking ventures. Pursuant to the University of Kansas’ Policy on Commercial Note-Taking Ventures, commercial note-taking is not permitted in this course. Lecture notes and course materials may be taken for personal use, for the purpose of mastering the course material, and may not be sold to any person or entity in any form. Any student engaged in or contributing to the commercial exchange of notes or course materials will be subject to discipline, including academic misconduct charges, in accordance with University policy. Please note: note-taking provided by a student volunteer for a student with a disability, as a reasonable accommodation under the ADA, is not the same as commercial note-taking and is not covered under this policy.

Wearing a mask is a must during the pandemic. I do not anticipate our class to visit in person during this semester but if you will have to make a trip to the campus, please carefully follow KU's safety and health policies. To protect all of us, everyone must wear a mask in the classroom, lab, or faculty/staff offices as required by the Protect KU Pledge and by University policy. Violations of the mask policy are treated as academic misconduct. If one goes to a class/lab without a mask, he/she will asked to put one on. If you do not put on a mask when asked, you will have to leave class. Violations will be reported, and consequences will follow, up to and including suspension from the course.

Please use the CVKey app for self-screening to help determine if you should attend in-person class activities. If you choose not to use the app or do not have a compatible device, please use the paper health assessment form. The app and the paper form are available at cvkey.ku.edu.

Please visit KU's safety and health webpage: Protect KU webpage; itprovides information about safety policies, including social distancing and masks.

Minimal Zoom etiquettes

Sign in. Login with your full first name and last name as listed on the class roster. Do not use a nickname or other pseudonym when you log in. It makes it impossible to know who is in attendance.

Audio. Mute your mic (lower-left corner of the Zoom screen) after you login and whenever you are not speaking; it will help to avoid or minimize background noise and distractions.

Video. All students are encouraged to turn on their video streams. It is helpful to see each other, just as in an in-person sessions, and makes class presentations for me and other students more lively. You may use a virtual background; virtual backgrounds are not perfect but are much better than black screens.

Stay engaged. Close any apps on your computer that are not relevant and turn off notifications. Engage in classroom discussion. Ask questions; it is OK to ask a question via a chat dialog or by raising your hand, but it is perfectly OK to just interrupt me as I may not immedaitely notice a raised hand or a chat question.

Giving a presentation. If you have to make a presentation, you will become a co-host and will be able to share your screen. When you are done with your presentation, stop the shared screen. You might want to use a headset with an external mic for best hearing and speaking capabilities.

Virtual office hours. Office hours will be held virtually. To avoid running idle Zoom video sessions, please send an email (or call) for a Zoom meeting and a Zoom session will be launched using the same classroom Zoom session ID and password. Day time calls to the office phone number will be automatically transferred to my mobile number.

Academic integrity during the pandemic

The University of Kansas, the School of Engineering, and in particular, the Department of Electrical Engineering & Computer Science (EECS) have zero tolerance for academic dishonesty and academic misconduct.

When an exam or quiz is not administered in-person (in a classroom), a student will be asked to sign off on a Honor Pledge statement similar to the following:

I have been granted the privilege to take (a part of) an exam at home. I declare that I did not obtain from anyone by any means (in writing, speaking or via digital communications, or exploring the Internet for possible answers) any information about the exam other than reviewing my course textbook(s) and classroom notes before the exam. By signing this statement, I declare that the answers to the exam questions are entirely my own (i.e., they are my synthesis, my words, my writings, my solutions).

Of course the above also applies to homeworks.

As implied above, unless specifically stated (like for the team project tasks), a student is expected to do their exam or homework individually without any collaborative efforts with anyone else.

If a student is caught violating the above, their case will be forwarded to the Graduate Studies committee for appropriate disciplinary measures.

Blackboard features.To further facilitate academic integrity, the following features of the Blackboard (Bb) learning management system will be utilized:

  • Each exam and quiz will be conducted synchronously, will be scheduled on a regular weekly session (students are always be encouraged to leave open their live Zoom video streams).
  • Each exam or quiz will have a limited and narrow time (set via a timer) to be completed and each person will get only one chance to do it.
  • Each exam or quiz will have about the same amount of time as an in-person exam or quiz, plus some additional Bb overhad time.
  • Exam and quiz questions will be randomly numbered for each person. Furthermore, the multiple choice, matching and similar questions will have randomized choice selections.
  • Exam and quiz questions will be displayed one-at-a time.
  • The "originality checking" mechanisms of Bb (it's called SafeAssign) will be utilized for exams but also assignments. Bb is able to check written responses against online databases of previously published works and trace sentences or clauses to other sources.
  • Bb features to prohibit printing, copying/pasting of exams will be turned on.
The ACM's and IEEE's code of ethics. As IT and computing professionals and/or as engineers, you should be familiar with the ACM's (IT, computing) and IEEE (engineering) codes of ethics and apply them during your academic and professional careers. These are lifelong commitments to integrity and professional conduct.

We will review these during the first class session, but you are strongly encouraged to review these codes in detail:

From the ACM's preamble: Computing professionals' actions change the world. To act responsibly, they should reflect upon the wider impacts of their work, consistently supporting the public good. The ACM Code of Ethics and Professional Conduct ("the Code") expresses the conscience of the profession.

From the IEEE's preamble: We, the members of the IEEE, in recognition of the importance of our technologies in affecting the quality of life throughout the world, and in accepting a personal obligation to our profession, its members and the communities we serve, do hereby commit ourselves to the highest ethical and professional conduct and agree.

The School of Engineering Statement on EdTech. "With the switch to online teaching as a result of the Coronavirus pandemic, professors and instructors at the KU School of Engineering are aware that some students are actively posting homework, laboratory, and exam questions and responses to EdTech services (e.g., Chegg) even during exam time frames.

Keep in mind that when a person signs up to participate by either uploading, and/or downloading, and/or using posted material from these sites, the “terms of service” that are agreed to do not protect the person when KU and/or the School of Engineering decide to conduct investigations related to academic misconduct (e.g., plagiarism and/or cheating).

In fact, EdTech services, like Chegg, retain contact information of students who use their services and will release that information, which is traceable, upon request. Using these services constitutes academic misconduct, which is not tolerated in the School of Engineering. It violates Article 3r, Section 6 of its Rules & Regulations, and may lead to grades of F in compromised course(s), transcript citations of academic misconduct, and expulsion from the University of Kansas.

If unsure about assignments, it is important that students use the allowable available resources, such as instructor office hours, graduate teaching assistants, and/or tutoring. The School of Engineering wants students to be successful; cheating is not the way to attain that success."