1 / 27

Overview of Database Systems

Overview of Database Systems. CSCE 315, Spring 2019 Project 1 Robert Lightfoot. Project. Your first project will involve putting together a very basic database system There will be a few lectures to give you an overview of database systems

defalco
Download Presentation

Overview of Database Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview of Database Systems CSCE 315, Spring 2019 Project 1 Robert Lightfoot

  2. Project • Your first project will involve putting together a very basic database system • There will be a few lectures to give you an overview of database systems • This is nowhere close to what you would get in a full database course • Slides adapted from Jennifer Welch (some of hers were from Jeffrey Ullman)

  3. Why Database Systems? • Systems designed to manage very large amounts of data, and to query them • Most of these data do not fit in the RAM • Often, key considerations include: • Efficiency, • Safe concurrency • Reliability • Ease of access (querying, distributed) • If an application developer was to implement all these features • He would reinvent the wheel • He may make mistakes • Or he has to relearn couple decades worth of research in a few days • In stead, the developer can just use a database software where all these are already available

  4. Creating a Database • A database schema determines what will be represented in the database • This really about which Tables and the structure/schema of those Tables • Specified through a data definition language (DDL) • Once the database is created, then data can be inserted • Like creating a class first and then creating objects of it • Finally, the database can be queried for useful information using Data Manipulation Language (DML) • SQL is used both as DDL and DML

  5. Database Design vs Database Development • When we write an application for some other course, most likely we will learn how to organize data in databases • The database software is already there (e.g., MySQL, Microsoft Excel, Oracle, MongoDB) • This is called database design, which means organizing data inside a available database software • However, Team Project #1 is about: • Developing a database engine, since we won’t use the available ones • Then, organizing data inside it for the application part • Therefore, we will learn both database development and data design

  6. Database Design • Means setting up the structure inside the database such that: • There is minimal repetition of data • Data access in convenient • Will use Entity-Relationship (ER) model/diagram • Similar to class diagram for Object Oriented Design

  7. Entity-Relationship Model • Way of expressing: • Kinds/Types of data and • how they are related • Easy first way to think about databases • Later, relational model described • Relational model is the foundation of most databases

  8. Entities and Attributes • Entities are things • Similar to objects in OOP • Correspond to Records • Example: Robert is a Person entity • Attributesare properties of entity sets • Correspond to fields in the Records • Example: Robert’s birthday, ethnicity • Entity sets are collections of those things • Correspond to Tables • Collection of all A&M employees / personnel

  9. Entity Sets and Attributes Name Party Senator Bill State Text Name Years

  10. Relationships • Connect two or more entity sets Name Contributed Party Organization Senator Lobbyist State Sponsored Name Years Wrote Bill Name Text

  11. Values of Entities and Relationships • The “value” of an entity set is the entities it contains • The “value” of a relationship is a list of currently related entities (one from each entity set) Sponsor (Relationship) Senator (Entity Set)

  12. Multi-Way Relationships • E.g. Lobbyist lobbied Senator about Bill Name Party Organization Senator Lobbied Lobbyist State Name Years Bill Name Text

  13. Relationship Types • Consider binary relationships (two entity groups in a relationship) • One-to-one • Each entity can have at most one in the other category • e.g. entity groups: Baseball player, Team • relationship: Team MVP • A team can only have one MVP, and a player can only be MVP for one team.

  14. Relationship Types • Consider binary relationships (two entity groups in a relationship) • One-to-one • Many-to-one • Each entity of first set can go to at most one of the second set • e.g. entity groups: Person, Town • relationship: BornIn • A person can is born in only one town, but a town can have many people born there

  15. Relationship Types • Consider binary relationships (two entity groups in a relationship) • One-to-one • Many-to-one • Many-to-many • Any number from one set to the other • e.g. Senators can sponsor many bills, and each bill can be sponsored by many Senators

  16. Diagrams of Relationships • Arrow shows “to one” Lived In Born In Person Town MVP Baseball Player Team

  17. Attributes on Relationships Born In Person Town Hospital

  18. Keys • A key is a set of attributes for an entity set such that no two entities agree on all the attributes. • We must have a key for every entity set Name Party Senator State Years

  19. Key for multiple attributes • Must choose one set of attributes First Name Last Name Number Baseball Player Position Birthdate Nationality Salary Team

  20. Key for multiple attributes • Must choose one set of attributes First Name Last Name Number Baseball Player Position Birthdate Nationality Salary Team

  21. Key for multiple attributes • Must choose one set of attributes First Name Last Name Number Baseball Player Position Birthdate Nationality Salary Team

  22. Weak entity sets • Need “help” to determine key First Name Last Name Number Note arrrow: indicates many to one. Baseball Player Position Birthdate Plays On Team Nationality Salary Name City

  23. Design Techniques • Avoid redundancy • Say the same thing two ways First Name Last Name Number Baseball Player Position Birthdate Plays On Team Team Name Salary Name City

  24. Design Techniques • Avoid redundancy • Say the same thing two ways First Name Last Name Number Baseball Player Position Birthdate Team Name Team Town

  25. Design Techniques • Don’t use entity set if attribute will do • Entity lists should either • Have some non-key attribute, OR • Be the “many” in a many-one/many-many relationship Plays On Name Baseball Player Team Name City

  26. Design Techniques • Don’t use entity set if attribute will do • Entity lists should either • Have some non-key attribute • Be the “many” in a many-one/many-many relationship Name Baseball Player Team

  27. Design Techniques • Don’t overuse weak entity sets • Usually use unique key for each entity set (e.g. UIN, SSN, VIN) • Not always possible, though

More Related