Tuesday, March 7, 2017

Chapter 5: Database Processing



Ch.5
Summary
Databases are widely used. They make for easy access and traceability. A database model should be made before the construction of the database since it’s easier to make changes to the data before its construction. There are many factors that go into the database, so there’s been three new categories of database management systems created.
Q5-1 What Is the Purpose of a Database?
Databases are used to keep track of multiple things for easy access.
Q5-2 What is a database
Database is a collection of integrated records that can be broken down as followed: byte (character of data), columns/fields (grouped bytes), rows/records (grouped fields), table/file (grouped rows). A database shows the records and the relationships within those records.
Relationships Among Rows
Rows from one table can relate to rows in another table and every table must have key. A key/primary key can be group of columns that identify a unique row in a table. A foreign key are keys of a different table than the one in which they reside. A relational database carries its data in the form of tables that represent relationships of the data using foreign keys.
Metadata
Metadata/field properties can be defined as data that describes data and can have different formats. Metadata eliminates guessing and remembering.
Q5-3 What is a Database Management System (DBMS)?
Database Management System (DBMS) is typically a software program acquired from a vendor used to create, process, and administer a database. Many vendors include IBM (DB2), Microsoft (Access and SQL Server), Oracle (Oracle Database), and MySQL. DBMS has three functions: creating the database and its structures, processing the database, and administering the database.
Creating the Database and Its Structures
DBMS are used by database developers to create tables, relationships, and structures within the database using metadata. It is easy to make changes.
Processing the Database
A DBMS provides services for 4 processing operations to assist with processing complex databases: to read, insert, modify, or delete data. Many DBMS products utilize Structured Query Language (SQL) which is an international standard language for processing a database. SQL is also used to create databases and database structures.
Administering the Database
This involves many tasks such as: setting up security systems (user accounts, passwords, permission, etc), backing up database data, adding structures to improve performance of applications, and removing unwanted data.
Q5-4 How Do Database Applications Make Databases More Useful?
Database Applications make table data informative and easily updated using forms (view data, insert new, update existing, delete existing), reports (structured presentation of data), queries (search based on data values provided by the user), and application programs (provide security, data consistency, and special purpose processing).
Traditional Forms, Queries, Reports, and Application Programs
Traditional forms typically appear in window-like display to view/insert/modify/delete data. Traditional reports are statistic displays of data formatted in a meaningful way to the user. Traditional database application programs are thich applications installed on computers and are written in object oriented languages (C++/VisualBasic).
Browser Forms, Reports, Queries, and Applications
These are displayed and processed using html, html5, css3, and JavaScript. A graphical query is when query criteria are created when the user clicks on a graphic. Browser applications are very vulnerable and lack security.
Multi-user Processing
Multiple users process the same database in most traditional and browser-based applications; it’s common. Its main problem is lost-update problem; solution: some type of locking should be used to coordinate activities of the users
Q5-5 How Are Data Models Used for Database Development?
Database structures can be complex, so before constructing the database developers create a data model (logical rep. of database data i.e. blueprint)
What is the Entity-Relationship Data Model?
E-R is a tool for constructing data models by describing the content of a data through defining of entities and their relationships. Unified Modeling Language (UMI) is a less popular tool for data modeling. Entity is a thing that you want to track; each entity has attributes, which are characteristics that describe the entity. An attribute or group of attributes that is only associated with one entity instance is called an Identifier. Three types of relationships: 1-to-1 (1:1 ex. marriage), 1-to-many (1:N ex. one department, many advisors), Many-to-many (N:M ex. advisors, students)
Q5-6 How is Data Model Transformed into a Database Design?
Database design is converting a data model into tables, relationships, and data constraints. It also changes entities into tables and express relationships by defining foreign keys. It’s complicated like data modeling.
Normalization
Converting a poorly structured table into two or more well-structured tables is called Normalization; it’s easy for a table to become malformed.  Goal: Construct tables with single theme or entity. Purpose: Minimize data integrity problems. An example of a Data Integrity Problem is when some rows state that the name of Department 100 is “Accounting and Finance” while another row would state that Department 100’s name is “Accounting”.  These problems are serious because these tables will produce incorrect and inconsistent results, but they occur only if data is duplicated. Databases classify tables into normal forms depending on the type of problems they have.
Representing Relationships: Using foreign keys to create a relationship between two or more tables; linking data.
Users’ Role in the Development of Databases
A database is a model of how users view their business world, which means they have the final say in what data should be contained in the database and how the records relate to one another. The data modeling stage is the easiest time to change the database structure.
Q5-7 How Can Falcon Security Benefit from a Database System?
They benefit by having an easier way to locate specific data in a shorter time-period and be able to leave comments after analyzing the data. For example, finding videos by querying their characteristics. Falcon could use MongoDB, which is an open source document-oriented DBMS that stores video footage in the same database as the metadata or they can just build an Access database to store the metadata.
Q5-8 2026?
Volume of database continues to grow. Cheap, unlimited storage, greater processing speeds do in relational databases. Security becomes more important. ACID: Atomic, Consistent, Isolated, Durable transactions, Critical to traditional commercial applications and new Internet applications (Twitter) don’t need ACID. Many NoSQL, NewSQL, and in-memory databases exist in commerce. NoSQL DBMS (NotRelational DBMS) new DBMS products, support high transaction rates processing simple data structures, replicated on many servers in the cloud, no ACID transaction support. Ex: MongoDB, Cassandra, Bigtable, Dynamo. NewSQL DBMS: process high transaction level. Provides ACID support, may or may not support relational model. Hotbed of development with new vendors. In-Memory DBMS: process databases in main memory, they usually support or extend the relational model. High volume ACID transaction support with complex relational query processing. Ex: SAP HANA, Tableau Software.
Three Things I learned
1) The purpose of a database is to organize and keep track of things such as keeping track of multiple themes. The general rule is that when you have a single theme, you store it in a spreadsheet and when you have multiple themes, then you use a database. Examples of themes are student grades, student emails, and student office visits.
2) Using normalization, each entity will be represented with a table, where the entity identifier becomes the table key and the entity’s attributes become table columns. One will normalize the tables as needed. The database will use foreign keys to represent relationships. However, one will need to add additional tables for many-to-many relationships.
3) I didn’t realize how important the users are to developing the database. Users are the “final judges”; they decide what kind of data the database will consist of. Thorough the review of a data model, entities must contain all the data users need to do their jobs and must accurately reflect their view of the business. If the wrong data model is used, then the applications will be hard to use.

No comments:

Post a Comment