* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Slide 1
Survey
Document related concepts
Data analysis wikipedia , lookup
Commitment ordering wikipedia , lookup
Operational transformation wikipedia , lookup
Information privacy law wikipedia , lookup
Expense and cost recovery system (ECRS) wikipedia , lookup
Serializability wikipedia , lookup
Microsoft Access wikipedia , lookup
Open data in the United Kingdom wikipedia , lookup
Business intelligence wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Data vault modeling wikipedia , lookup
Oracle Database wikipedia , lookup
Versant Object Database wikipedia , lookup
Concurrency control wikipedia , lookup
Relational model wikipedia , lookup
Transcript
Using MIS 2e Chapter 5 Database Processing David Kroenke 09/22 – 4:30AM © Pearson Prentice Hall 2009 5-1 Study Questions Q1 – What is the purpose of a database? Q2 – What is a database? Q3 – What are the components of a database application system? Q4 – How do database applications make databases more useful? Q5 – How are data models used for database development? Q6 – How is a data model transformed into a database design? Q7 – What is the user’s role in the development of databases? Q8 – What are the responsibilities for database administration? © Pearson Prentice Hall 2009 5-2 Q1 – What is the purpose of a database? Q2 – What is a database? Q3 – What are the components of a database application system? Q4 – How do database applications make databases more useful? Q5 – How are data models used for database development? Q6 – How is a data model transformed into a database design? Q7 – What is the user’s role in the development of databases? Q8 – What are the responsibilities for database administration? © Pearson Prentice Hall 2009 5-3 Q1 – What is the purpose of a database? No database designer knows the users’ needs ahead of time, so finding out what they need is the essential first step. Database development is a collaborative process (iteration and feedback. You begin by asking users about their needs and building a prototype. Then you iteratively get feedback on the prototype, integrate the feedback into a new prototype, and get feedback again until the prototype is just right for the user. Users cannot describe exactly what they want when you begin. They need to see something, relate it to their work, and then they respond with changes. You need to patiently ask, prototype, and check to uncover the true requirements. The iterative process is essential. Users need to commit to it and to fully engage with the developers. © Pearson Prentice Hall 2009 5-4 Q1 – What is the purpose of a database? If a developer says they will deliver a solution without first demonstrating an understanding of what is required (a prototype), get another developer. An iterative process that shows small successes early in the process and builds from there is an excellent approach. Take the time to collaborate with the developer. Do not be a slave to a schedule that was set in the beginning, when you knew the least about the problem. Do not let schedules force omissions and compromises that will hurt the project later. Focus on producing useful results that users want. As a database user, you play a crucial role in developing database applications for your business or organization. © Pearson Prentice Hall 2009 5-5 Q1 – What is the purpose of a database? Think of a file as a list of records (like a single spreadsheet) with the same format about some entity. Think of a database as a collection of logically related lists (or spreadsheets). Spreadsheets are good for tracking items with just one list (as shown below) versus a database that tracks things involving more than one list (as shown on the next slide). Fig 5-1 List of Student Grades, Presented in a Spreadsheet © Pearson Prentice Hall 2009 5-6 Q1 – What is the purpose of a database? Different lists One database Fig 5-2 Student Data Shown in a Form, from a Database © Pearson Prentice Hall 2009 5-7 Q1 – What is the purpose of a database? Q2 – What is a database? Q3 – What are the components of a database application system? Q4 – How do database applications make databases more useful? Q5 – How are data models used for database development? Q6 – How is a data model transformed into a database design? Q7 – What is the user's role in the development of databases? Q8 – What are the responsibilities for database administration? © Pearson Prentice Hall 2009 5-8 Q2 – What is a database? Attributes of the entity students Table about the entity students © Pearson Prentice Hall 2009 5-9 Q2 – What is a database? This figure shows the hierarchy of data elements working from the smallest at the bottom to the largest at the top. Fig 5-4 Hierarchy of Data Elements © Pearson Prentice Hall 2009 5-10 Q2 – What is a database? An entity is an object, event or concept you want to track. A database is a self-describing collection of integrated records about multiple, logically related entities. A concept abstracted from these logically related entities is yet another entity, which is the name of the database. For example, the Accounts Receivable database contains the master file and the transaction file. Each set of identical records is in a file. A file is called a table in relational database terminology © Pearson Prentice Hall 2009 5-11 Q2 – What is a database? Bytes, characters of data, are grouped into columns which are also called fields. The fields are grouped into rows which are also called records. A table is a group of similar rows or records which is also called a file. A table or file tracks one entity or theme. A database tracks multiple, logically related entities or themes. © Pearson Prentice Hall 2009 5-12 Q2 – What is a database? A database is more than just a group of tables. It includes tables or files plus the relationships among rows of different tables and special data called metadata that describes the database’s structure. Disk Drive Fig 5-5 Components of a Database © Pearson Prentice Hall 2009 5-13 Q2 – What is a database? This diagram shows how relationships among rows of different tables are implemented. The Student Number value in the first row of the top table,1325, relates to the same Student Number value in a row in the second table. Both that Student Number value and that of 4867 in the second table relate to those in the third. © Pearson Prentice Hall 2009 You have identical fields in different files. Rows in different files are related if these identical fields have the same values. Fig 5-6 Example of Relationships Among Rows 5-14 Q2 – What is a database? Keys are a column that identifies a unique row in a table. In the Student Table, the primary key is Student Number. Every table must have a key. A primary key, Student Number, can act as a foreign key in a different table, like the Office Visit Table. A relational database uses primary keys and foreign keys in tables to represent relationships. © Pearson Prentice Hall 2009 5-15 Q2 – What is a database? Metadata are data that describe data and makes databases easy to use. Metadata is always a part of a database. The Field Name, Data Type, and Description at the top of this diagram are part of the database’s metadata. The additional field properties at the bottom are also considered metadata. Databases are selfdescribing because of their metadata. Fig 5-7 Sample Metadata (in Access) © Pearson Prentice Hall 2009 5-16 Q1 – What is the purpose of a database? Q2 – What is a database? Q3 – What are the components of a database application system? Q4 – How do database applications make databases more useful? Q5 – How are data models used for database development? Q6 – How is a data model transformed into a database design? Q7 – What is the user's role in the development of databases? Q8 – What are the responsibilities for database administration? © Pearson Prentice Hall 2009 5-17 Q3 – What are the components of a database application system? By itself, a database of data may be in correct form but it is not useful, except for queries, because there’s no way to process the data to produce reports. The database needs a database application system. A database application system provides forms, formatted reports, preformatted queries, and application programs to process and convert the data into different formats to provide useful information to users. Fig 5-8 Components of a Database Application System © Pearson Prentice Hall 2009 5-18 Q3 – What are the components of a database application system? A DBMS creates and administers a database and provides an interface for application programs to process the data. Popular DBMS products include: DB2 from IBM Access from Microsoft (for personal computers) SQL Server from Microsoft (for large computer systems) Oracle from Oracle Corporation MySQL, an open-source product that’s license-free It’s easy to confuse a DBMS, which is a software program, with a database, which is a collection of tables, relationships and metadata. But, they are two different concepts. © Pearson Prentice Hall 2009 5-19 Q3 – What are the components of a database application system? A DBMS is used to read, add, modify, and delete tables, fields, records, keys, relationships, and structures in a database. This figure shows how the metadata in an existing table is modified to add a new field, column, labeled “Response?” Fig 5-9 Adding a New Column to a Table (in Access) © Pearson Prentice Hall 2009 5-20 Q3 – What are the components of a database application system? The Structured Query Language (SQL), is an international standard language used by most major DBMS programs for processing databases. A DBMS includes tools to help you administer a database. You can Set up a security system that includes permissions and passwords. Back up the data to prevent it from being lost or compromised. Improve the performance of applications by adding structures. Remove data that’s no longer needed. © Pearson Prentice Hall 2009 5-21 Q1 – What is the purpose of a database? Q2 – What is a database? Q3 – What are the components of a database application system? Q4 – How do database applications make databases more useful? Q5 – How are data models used for database development? Q6 – How is a data model transformed into a database design? Q7 – What is the user's role in the development of databases? Q8 – What are the responsibilities for database administration? © Pearson Prentice Hall 2009 5-22 Q4 – How do database applications make databases more useful? A database application includes forms, reports, queries, and applications programs available to one or more users. This figure shows three different applications stemming from a single DBMS and a single database. Fig 5-10 Use of Multiple Database Applications © Pearson Prentice Hall 2009 5-23 Q4 – How do database applications make databases more useful? Data entry forms are used to read, insert, modify, and delete data. Reports are used to show data in a structured context as the example to the right shows. Fig 5-11 Example of a Student Report © Pearson Prentice Hall 2009 5-24 Q4 – How do database applications make databases more useful? A query form helps the user quickly find answers to questions. In this case, the words “barriers to entry” were found in Baker’s record. Fig 5-12 (a) & (b) Sample Query and Results © Pearson Prentice Hall 2009 5-25 Q4 – How do database applications make databases more useful? Database application programs process logic specific to a given business need. For example, a program could track backordered items and hold a customer order until the items are ready to ship. Database application programs enable database processing over the Internet as the figure below shows. Users access the applications programs on a Web server, which in turn accesses a single DBMS and database. Fig 5-13 Four Application Programs on a Web Server Computer © Pearson Prentice Hall 2009 5-26 Q4 – How do database applications make databases more useful? This figure depicts multi-user database processing. The system must be managed properly to avoid data conflicts which occur when multiple users attempt to update the same record at the same time. © Pearson Prentice Hall 2009 5-27 Q4 – How do database applications make databases more useful? Here’s a comparison of an Enterprise DBMS versus a Personal DBMS. Enterprise DBMS Large organizational and workgroup databases Thousands of users Many different database applications 24/7 operations DB2, SQL Server, Oracle Personal DBMS Smaller, simpler applications Personal or small workgroup applications Fewer than 100 users Microsoft Access is both a DBMS and application development product as this figure depicts. Fig 5-14 Personal Database System © Pearson Prentice Hall 2009 5-28 Q1 – What is the purpose of a database? Q2 – What is a database? Q3 – What are the components of a database application system? Q4 – How do database applications make databases more useful? Q5 – How are data models used for database development? Q6 – How is a data model transformed into a database design? Q7 – What is the user's role in the development of databases? Q8 – What are the responsibilities for database administration? © Pearson Prentice Hall 2009 5-29 Q5 – How are data models used for database development? User involvement is critical for database development for these reasons: A database’s design depends on how users view their business environment and how they do their jobs. Database developers do not and cannot know what to include because they don’t work with the data everyday. They must rely on users to tell them what data are important and how they’re used. A data model is similar to blueprints for a house. It’s a logical representation of database data that describes data and their relationships. Fig 5-15 Database Development Process © Pearson Prentice Hall 2009 5-30 Q5 – How are data models used for database development? Interviews with users lead to database requirements, which are summarized in a data model. Once the users have approved (validated) the data model, it is transformed into a database design. That design is then implemented into database structures. Fig 5-15 Database Development Process © Pearson Prentice Hall 2009 5-31 Q5 – How are data models used for database development? An entity-relationship data model helps developers define things (entities) that will be stored in the database as they are building a data model. It also defines relationships among those entities. Entities are things users want to track. It can be a physical object (inventory items) or an event (sales order). Each entity has attributes that describe its characteristics. The entity “Order” has attributes like “OrderNumber” and “OrderDate”. An identifier is an attribute whose value is associated with one and only one entity instance. “OrderNumber” is the identifier for the “Order” entity because there should only be one number for each order. © Pearson Prentice Hall 2009 5-32 Q5 – How are data models used for database development? Student, Department, Advisor, Email, and Office_Visit are the entity names in this model. The entity identifiers are StudentNumber, DeptName, and AdvisorName. Not all entities require an identifier. Entity Name Entity Identifier Fig 5-16 Student Data Model Entities © Pearson Prentice Hall 2009 5-33 Q5 – How are data models used for database development? Relationships join one entity to another entity One-to-one – 1:1 One-to-many – 1:N Many-to-many – N:M This diagram shows that each Department Entity can have multiple Adviser Entities in a one-tomany relationship. Adviser Entities can have a many-to-many relationship with Student Entities. © Pearson Prentice Hall 2009 5-34 Q5 – How are data models used for database development? The line style between entities describes the type of relationship as shown in the entity-relationship diagram below. This diagram depicts crow’s feet between the entities to describe the relationships. It shows a one-to-many (1:M) relationship between Department and Adviser and a many-to-many (N:M) relationship between Adviser and Student entities. Fig 5-19 Sample Relationships – Version 1 © Pearson Prentice Hall 2009 5-35 Q5 – How are data models used for database development? The entity-relationship diagram below shows a many-to-many (N:M) relationship between Department and Adviser and a one-tomany (1:M) relationship between Adviser and Student. Because relationships among entities can vary, only the user can describe the entity-relationship. That’s why it’s so important for users to help design databases. Fig 5-19 Sample Relationships – Version 2 © Pearson Prentice Hall 2009 5-36 Q5 – How are data models used for database development? Maximum cardinality represents the maximum number of entities that can be involved in a relationship. Minimum cardinality represents the minimum number of entities that can be involved in a relationship. The vertical bar below indicates that at least one entity is required between Department and Adviser and between Adviser and Student. The oval below indicates that an entity is optional and doesn’t require a relationship. Fig 5-20 Sample Relationships Showing Maximum/Minimum Cardinality © Pearson Prentice Hall 2009 5-37 Q1 – What is the purpose of a database? Q2 – What is a database? Q3 – What are the components of a database application system? Q4 – How do database applications make databases more useful? Q5 – How are data models used for database development? Q6 – How is a data model transformed into a database design? Q7 – What is the user's role in the development of databases? Q8 – What are the responsibilities for database administration? © Pearson Prentice Hall 2009 5-38 Q6 How is a data model transformed into a database design? Database design is the process of: Defining a data model Converting the data model into tables Defining relationships with foreign keys Defining data constraints. © Pearson Prentice Hall 2009 5-39 Q6 How is a data model transformed into a database design? Converting a poorly structured table into two or more well-structured tables is called normalization. The table below is poorly designed because it includes the DeptName along with DeptNo as part of the Employee record, creating data redundancy. It also creates data integrity problems because the DeptName is not consistent throughout the table after the data were updated. Fig 5-21 Poorly Designed Employee Table © Pearson Prentice Hall 2009 5-40 Q6 How is a data model transformed into a database design? Normalizing the tables by splitting the Department data into a separate table, as shown below, allows each table to describe a single topic or theme. The tables have been transformed into a normal form. By eliminating the duplicate data, you eliminate data integrity problems. That’s called normalizing for data integrity. Now, the department name only needs to be updated in one place in the normalized tables. © Pearson Prentice Hall 2009 5-41 Q6 How is a data model transformed into a database design? This chart shows the necessary steps to transform a data model into a relational database design. Finally, you define the data constraints. Fig 5-23 Transforming a Data Model into a Database Design © Pearson Prentice Hall 2009 5-42 Q6 How is a data model transformed into a database design? The figures below and on the next slide depict the steps used to create a well structured database that will produce useful information. The figure on the left represents the relationship between tables. The figure on the right shows a normalized table for each entity. From Figure 5-24 Representing a 1:N Relationship © Pearson Prentice Hall 2009 5-43 Q6 How is a data model transformed into a database design? The figure below shows how relationships are represented using foreign keys. It’s the last step in transforming a data model into a database design. From Figure 5-24 Representing a 1:N Relationship © Pearson Prentice Hall 2009 5-44 Q1 – What is the purpose of a database? Q2 – What is a database? Q3 – What are the components of a database application system? Q4 – How do database applications make databases more useful? Q5 – How are data models used for database development? Q6 – How is a data model transformed into a database design? Q7 – What is the user's role in the development of databases? Q8 – What are the responsibilities for database administration? © Pearson Prentice Hall 2009 5-45 Q7 – What is the user's role in the development of databases? Your role in the database development process is to decide what data should be included and how records should relate to one another. The best time to change a database structure is during the data modeling stage. It’s easier and cheaper to change your mind before anything is actually built. The costs of correcting the database in time and money later on may be very high. Each entity must contain all the data you need to do your job. Each relationship must accurately reflect the appropriate view of your business. You must be the final judge of how well the database will serve your needs. Do not go forward until the data model is accurate. © Pearson Prentice Hall 2009 5-46 Q1 – What is the purpose of a database? Q2 – What is a database? Q3 – What are the components of a database application system? Q4 – How do database applications make databases more useful? Q5 – How are data models used for database development? Q6 – How is a data model transformed into a database design? Q7 – What is the user's role in the development of databases? Q8 – What are the responsibilities for database administration? © Pearson Prentice Hall 2009 5-47 Q8 – What are the responsibilities for database administration? Databases are the primary resource for information about the repetitive, recorded activities for most businesses. The database will constrain or enable your visibility into your business. As databases touch more aspects of systems and business functions, the utility of a database increases as do potential problems. Database administration manages the development, operation, and maintenance of databases. Database administration must protect the database and maximize its availability for authorized use. © Pearson Prentice Hall 2009 5-48 Q8 – What are the responsibilities for database administration? Database administration tasks are divided into four categories as shown below and on the next slide. Development Operation Backup and recovery Adaptation Fig 5-26 Summary of Database Administration Tasks © Pearson Prentice Hall 2009 5-49 Q8 – What are the responsibilities for database administration? Fig 5-26 Summary of Database Administration Tasks, continued © Pearson Prentice Hall 2009 5-50