<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Database Systems on Bill Brown:Thoughts and Reference Material Online</title><link>https://www.billbrown.info/series/database-systems/</link><description>Recent content in Database Systems on Bill Brown:Thoughts and Reference Material Online</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>BillBrown.info</copyright><lastBuildDate>Sat, 24 Feb 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.billbrown.info/series/database-systems/index.xml" rel="self" type="application/rss+xml"/><item><title>Database Failure Types, Causes, and Recovery Solutions</title><link>https://www.billbrown.info/post/database-failures-types-and-solutions/</link><pubDate>Sat, 24 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/database-failures-types-and-solutions/</guid><description>
&lt;h2 id="types-of-computer-failures"&gt;Types of Computer Failures&lt;/h2&gt;
&lt;p&gt;Database failures can usually be categorized into transaction, system, or media failures. Failed transactions in the middle of the execution can occur for many reasons, as described by Elmasri &amp;amp; Navathe (2015).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Most Common Failures:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The most common failures are described as computer failure, transaction or system error, exception or local error, database concurrency, or deadlock.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Computer failure:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Computer failures, sometimes called system crashes by specialists, occur when a piece of hardware fails. In high-end systems, there are usually redundant hardware components to keep the failures from occurring, but they do happen. A software failure is another type of computer failure. The software failure could be due to a vendor defect or by an application programming defect introduced in the code. The last example of a computer failure would be a network failure. A network failure can occur when a firewall change is introduced, the Internet connection fails, the firmware is updated on the switch, or other networking issues.&lt;/p&gt;</description></item><item><title>Disaster Recovery from Catastrophic Database Failures</title><link>https://www.billbrown.info/post/disaster-recovery-from-catastrophic-database-failures/</link><pubDate>Fri, 23 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/disaster-recovery-from-catastrophic-database-failures/</guid><description>
&lt;h2 id="describe-how-disaster-recovery-from-catastrophic-failures-is-handled-illustrate-in-detail"&gt;Describe how disaster recovery from catastrophic failures is handled. Illustrate in detail&lt;/h2&gt;
&lt;p&gt;Catastrophes can be broken down into two subcategories: physical problems and catastrophes. Physical catastrophes can be air conditioner failures, power issues, fire, or hacking attacks. Catastrophic errors are usually caused by major disasters such as earthquakes or floods, which deem the data center no longer usable, as Elmasri &amp;amp; Navathe (2015) described.&lt;/p&gt;
&lt;p&gt;When a physical problem or failure occurs with the database, such as a power outage, the database has restart capabilities built into it at start-up. The server power is restored, and the database management system is started. When starting, the database will go into recovery mode and replay or REDO the transactions in flight when the power outage occurred.&lt;/p&gt;</description></item><item><title>Essential Measures for Preventing SQL Injection Attacks</title><link>https://www.billbrown.info/post/essential-measures-in-preventing-sql-injection-attacks/</link><pubDate>Thu, 22 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/essential-measures-in-preventing-sql-injection-attacks/</guid><description>
&lt;h2 id="preventive-measures-against-sql-injection-attacks"&gt;Preventive Measures Against SQL Injection Attacks&lt;/h2&gt;
&lt;p&gt;An SQL injection attack occurs by having an attacker inject a string input into the application; these changes or manipulate the SQL statement to the attacker’s advantage, as described by Elmasri &amp;amp; Navathe (2015). They indicate that an SQL injection attack inflicts damage to the database management system. Examples of ways damage could be done are unauthorized manipulation of data, retrieval of sensitive data, or execution of operating system-level commands.&lt;/p&gt;</description></item><item><title>Functional Dependency Closure Explained for Database Design</title><link>https://www.billbrown.info/post/what-is-meant-by-the-closure-of-a-set-of-functional-dependencies/</link><pubDate>Sat, 17 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/what-is-meant-by-the-closure-of-a-set-of-functional-dependencies/</guid><description>
&lt;h2 id="what-is-meant-by-the-closure-of-a-set-of-functional-dependencies"&gt;What Is Meant by the Closure of a Set of Functional Dependencies?&lt;/h2&gt;
&lt;p&gt;A functional dependency is a one-way dependency between two attributes at any given time. For a unique attribute&lt;/p&gt;
&lt;p&gt;of value A there is one value of the attribute B associated with it through the relation. Even if the values for the attribute change, there is only one, as described by Harrington(2009). A functional dependency, as explained by Elmasri &amp;amp; Navathe (2015), is a constraint between two sets of attributes from the database.&lt;/p&gt;</description></item><item><title>Variable-Length Records and Separator Characters Explained</title><link>https://www.billbrown.info/post/reasons-for-having-variable-length-records-and-the-use-of-separator-characters/</link><pubDate>Sat, 17 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/reasons-for-having-variable-length-records-and-the-use-of-separator-characters/</guid><description>
&lt;h2 id="the-reasons-for-having-variable-length-records-and-the-use-of-separator-characters"&gt;The Reasons For Having Variable-Length Records And The Use Of Separator Characters&lt;/h2&gt;
&lt;p&gt;There may be many reasons for a file having variable-length records, as described by Elmasri &amp;amp; Navathe (2015). They are described as one field that may need to be a varying size, a field that may contain a repeating group or value, a field that may be identified as an optional field, or a file that may contain more than one record type.&lt;/p&gt;</description></item><item><title>Database Anomalies: Insertion, Deletion, and Modification</title><link>https://www.billbrown.info/post/database-anomalies-insertion-deletion-and-odification/</link><pubDate>Fri, 16 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/database-anomalies-insertion-deletion-and-odification/</guid><description>
&lt;h2 id="insertion-deletion-and-modification-anomalies-are-considered-bad"&gt;Insertion, Deletion, and Modification Anomalies Are Considered Bad&lt;/h2&gt;
&lt;p&gt;An insertion anomaly is a situation that arises when one is prevented from inserting data into a relation because the complete primary key is not available. No part of a primary key can be null. Harrington (2009) points out that insertion anomalies usually occur in first-normal form relations that do not exist in the higher normal forms.&lt;/p&gt;
&lt;p&gt;Insertion anomalies occur because there is usually data about more than one entity in the relation. An example of customer, item, and orders will be used to show an example of an insertion anomaly.&lt;/p&gt;</description></item><item><title>Demystifying SQL Retrieval Queries A Step-by-Step Breakdown</title><link>https://www.billbrown.info/post/conceptually-the-steps-of-execution-of-six-sql-clauses/</link><pubDate>Thu, 15 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/conceptually-the-steps-of-execution-of-six-sql-clauses/</guid><description>
&lt;h2 id="how-is-sql-query-retrieved-and-conceptually-what-is-the-order-of-executing-each-of-the-six-clauses"&gt;How Is SQL Query Retrieved, and Conceptually, What Is The Order oF Executing Each of The Six Clauses?&lt;/h2&gt;
&lt;p&gt;SQL or the Structured Query Language described by Bowman, Emerson, &amp;amp; Darnovsky (1997) was proposed in 1970 by Dr. E. F. Codd at IBM and developed the SQL language over the next decade at research facilities and universities. IBM announced the first commercial SQL production database in 1981, called SQL/DS.&lt;/p&gt;
&lt;p&gt;The database management system (DBMS) is a complex application software. Before discussing conceptually how an SQL retrieval query is executed by specifying the conceptual order of executing each of the six clauses, let's understand how a DBMS processes SQL queries at a high level.&lt;/p&gt;</description></item><item><title>SQL Join Types: Inner vs. Outer Join Operations Explained</title><link>https://www.billbrown.info/post/what-are-the-various-inner-outer-join-operations-and-how-to-use/</link><pubDate>Wed, 14 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/what-are-the-various-inner-outer-join-operations-and-how-to-use/</guid><description>
&lt;h2 id="how-does-one-choose-between-the-sql-right-join-inner-vs-outer-in-sql"&gt;How Does One Choose Between the SQL Right Join Inner vs. Outer in SQL?&lt;/h2&gt;
&lt;p&gt;An SQL Join is an operation of accessing the data from two or more tables or relations. In simple terms, a join occurs whenever multiple tables or relations appear in the FROM clause of a query, as described by Bhanuprakash, Nijagunarya &amp;amp; Jayaram (2014).&lt;/p&gt;
&lt;p&gt;Any number of attributes or columns can be chosen in the SELECT clause. When two tables are joined, one must find the standard columns from both tables to join the tables with a relational operator. If a column has the same name in both tables, it must be qualified by the table name to avoid the uncertainty of which table the column’s data should be retrieved.&lt;/p&gt;</description></item><item><title>Attribute and Relationship Inheritance in EER Diagrams</title><link>https://www.billbrown.info/post/attribute-and-relationship-inheritance-in-eer-diagrams/</link><pubDate>Tue, 13 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/attribute-and-relationship-inheritance-in-eer-diagrams/</guid><description>
&lt;h2 id="the-mechanism-of-attributerelationship-inheritance-and-why-it-useful"&gt;The Mechanism of Attribute/Relationship Inheritance and Why it Useful&lt;/h2&gt;
&lt;p&gt;The enhanced entity-relationship (EER) diagram includes the principles of the entity-relationship diagram with the addition of some other concepts as described by Tupper (2011). The additional concepts include subclasses and superclasses, specialization and generalization, inheritance, and categories.&lt;/p&gt;
&lt;p&gt;With entities in a logical model, there are often sub-groups that are of critical interest to the business area that is modeled. For example, let's look at the entity vehicle. Vehicle entities include cars, sports utility vehicles, hybrids, crossovers, and trucks. The vehicle would be a superclass, and the car, sports utility vehicle, hybrid, crossover, and trucks are subclasses.&lt;/p&gt;</description></item><item><title>Mapping EER Model Constructs to Relations in Your Database</title><link>https://www.billbrown.info/post/options-for-mapping-eer-model-constructs-to-relations/</link><pubDate>Sat, 10 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/options-for-mapping-eer-model-constructs-to-relations/</guid><description>
&lt;h2 id="the-options-for-mapping-eer-model-constructs-to-relations"&gt;The Options for Mapping EER Model Constructs to Relations&lt;/h2&gt;
&lt;p&gt;There are many ways of mapping the constructs from the EER model into the relational model. There are mapping of specializations or generalizations, shared subclasses, or multiple inheritance and categories.&lt;/p&gt;
&lt;p&gt;Several options are available for mapping several subclasses that together form a specialization.
There are two main options for map specializations. The first is to map the whole specialization or subclasses to one single table. The second is to map the specialization or subclasses to multiple tables. Each option is a variation that depends on the constraints on the specialization/generalization, as Elmasri (2015) described. There are a few options for mapping specialization or generalization, as Elmasri (2015) points out.&lt;/p&gt;</description></item><item><title>Object vs. Relational Databases: Key Design Differences</title><link>https://www.billbrown.info/post/the-main-differences-between-designing-relational-and-object-databases/</link><pubDate>Fri, 09 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/the-main-differences-between-designing-relational-and-object-databases/</guid><description>
&lt;h2 id="the-main-differences-between-designing-relational-and-object-databases"&gt;The main differences between designing relational and object databases**&lt;/h2&gt;
&lt;p&gt;Object databases and (ODB) relationships have three distinct differences: how relationships are handled, how inheritance is handled, and the timing of specifying operations in object databases compared to relational databases as described by Elmasri &amp;amp; Navathe (2015).&lt;/p&gt;
&lt;p&gt;Relationships are handled differently between ODBs and RDBs. The ODB uses the Object Identifier commonly known as an OID. The OID reference is the relationship property, or reference attribute, that relates objects, as Elmasri &amp;amp; Navathe (2015) point out. OID references for a binary relationship can be declared in one direction or both directions depending on the required access needed. If the binary relations is specified in both directions, this is the same as creating a relational database constraint.&lt;/p&gt;</description></item><item><title>Cursors in Embedded SQL: Usage, Power, and Performance</title><link>https://www.billbrown.info/post/the-cursor-and-the-useage-in-embedded-sql/</link><pubDate>Thu, 08 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/the-cursor-and-the-useage-in-embedded-sql/</guid><description>
&lt;h2 id="the-cursor-and-usage-in-embedded-sql"&gt;The cursor and usage in embedded SQL&lt;/h2&gt;
&lt;p&gt;The SQL language, by default, uses set-at-a-time processing. While this is used in most SQL queries, sometimes there is a need to loop through the set and execute a stored procedure or many different SQL statements for each row fetched. SELECT statements that return more than one row can present a problem when embedding them in a program, as Harrington (2010) identified. The host language variables can only handle one value at a time, and the SQL command processor cannot work with the host language arrays. So, the cursor allows the host language to extract a row at a time for processing.&lt;/p&gt;</description></item><item><title>Understanding Parameter Types in Database Cost Functions</title><link>https://www.billbrown.info/post/different-parameters-types-used-in-cost-functions-and-where-information-is-stored/</link><pubDate>Wed, 07 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.billbrown.info/post/different-parameters-types-used-in-cost-functions-and-where-information-is-stored/</guid><description>
&lt;h2 id="different-parameter-types-in-database-cost-functions-and-their-information-storage"&gt;Different Parameter Types in Database Cost Functions and Their Information Storage&lt;/h2&gt;
&lt;p&gt;The cost function is part of the query cost optimization module of the database management system. Elmasri &amp;amp; Navathe (2015) indicate that the optimizer heuristic rules or query transformations are not the only dependencies used for cost optimization.&lt;/p&gt;
&lt;p&gt;The cost-based optimizer will estimate and compare the cost of executing a query by taking advantage of different execution strategies and algorithms, and it then chooses the strategy with the lowest cost estimate.&lt;/p&gt;</description></item></channel></rss>