Skip to main content

Database Management System rules and protocols by E.F. (Edger Frank) Codd or EF CODD's Rules

Edger Frank aka E.F. Codd suggested some rules to follow while implementing a relational DBMS. He suggested that a relational database should follow the following rules so that it would work functionally efficient and it will also avoid the unnecessary background operation of the system.
Database Management System rules and protocols by E.F. (Edger Frank) Codd or EF CODD's Rules: 
  1. Information Rule : A set of related tables forms a database and all data is represented as tables, the data can be viewed in no other ways.
  2. Guaranteed Access : Each value can be accessed by specifying tables name, primary key 7 column name. This way each & every value is uniquely identifiable & accessible. Basically its a restatement of the fundamental requirement for primary keys.Each piece of data must be logically accessible by referencing A Table, A Primary/Unique Key and A Column.
  3. Systematic Treatment of Null Values : Null must be always be interpreted as an unknown value. 
  4. Dynamic online catalog based on the relational model. A relational database contains data about itself. There are two types of tables in a RDBMS. User Table : Containing the working data / actual data. System Table : contain data about the data structure of the user tables or meta data to control the user tables. Meta Data is data that describes the structure of the database itself and includes object definition (Tables, Indexes, stored procedure etc. And how they related to each other.). The collection of system tables is also referred as the system catalog or data dictionary. 
  5. Comprehensive Data Sub Language : SQL is the de-facto of standard or a relational database language. SQL is a non procedural or declarative language, it allows users to express what they want from a RDBMS with out specifying the details about where it is located or how to get it, user just need to focus on what is want to get.
  6. View Updating Rule : A relational database must not be limited to source tables when presenting data to the user. Data can be presented to the user in different logical combinations called as Views. Views are virtual tables or abstractions to the source tables.Views allows the creation of custom tables that are tailored for a specific need.
  7. High Level INSERT, UPDATE, DELETE : Rows are treated as sets for data manipulation operations like INSERT, UPDATE, DELETE. (SELECT is not a DML command). A relational database must support basic relational algebra operations (Selection, Projections and Joins) and Set operations (Union, Intersection, Division, Difference). A database that supports only row at a time (navigational) operations, doesn't meet this requirement and is not considered as relational database.
  8. Physical Data Independence : Application that access data in a relational database must be unaffected by changes in the way the data is physically stored.
  9. Logical Data Independence : The database schema or structure of tables and relationships can change with out having to recreate the application that uses it.
  10. Integrity Independence : Data integrity means the consistency & accuracy of the data in the database i.e. Keeping the garbage out of the database. In order to be considered relational data integrity must be an internal functionality of the database, not of the application program.
  11. Distribution Independence : The data manipulation language of the RDBMS should be able to work with distributed database. Views should be able to join data from tables on different servers as well as from different RDBMS. The user should not have to aware of whether a database is distributed or not it should support all the operations perform by the users.
  12. Non Sub-version Rule : There can't be other paths into database that subvert data integrity. In other words, you can't get in the “BACKDOOR” & change the data in such a manner as data integrity is violated.

So these are the rules/protocols are suggested by E.F. Codd to implement a relational database. These are the points keep into mind while designing a RDBMS.
From the database developer perspective we need to focus on the below points:
  1. No two tuples should have same data.
  2. Key : set of minimum attributes used to differentiate all tuples is known as key.
  3. Key can be simple i.e. Having only one attribute that can differentiate all the tuples e.g. Email-address of the user in user table, Enrollment No in Student table etc.
  4. Key can be composite or compound i.e. Having multiple attributes need to differentiate all the tuples e.g. Name, Father Name, Class/Section and City  in the student table.

Comments

Top 5 Most Read Posts

Who is Peter Lynch and what is his philosophy in equity market investment? 25 Golden Rules of the most successful Fund Manager.

Peter Lynch (born January 19, 1944) is an American investor, mutual fund manager, and philanthropist. As the manager of the Magellan Fund at Fidelity Investments between 1977 and 1990, Lynch averaged a 29.2% annual return, consistently more than doubling the S&P 500 stock market index and making it the best-performing mutual fund in the world. During his 13 year tenure, assets under management increased from $18 million to $14 billion. He also co-authored a number of books and papers on investing and coined a number of well known mantras of modern individual investing strategies, such as Invest in what you know and ten bagger. Lynch is consistently described as a "legend" by the financial media for his performance record. Base on his career I have compiled his investing rules here. 25 GOLDEN RULES by @Peter Lynch 1: Nobody can predict interest rates, the future direction of the economy or the stock market. Dismiss all such forecasts & concentrate on what's actual

What is version checking in Hibernate ?

Version checking used in hibernate when more then one thread trying to access same data. For example : User A edit the row of the TABLE for update ( In the User Interface changing data This is user thinking time) and in the same time User B edit the same record for update and click the update. Then User A click the Update and update done. Change made by user B is gone. In hibernate you can prevent slate object updation using version checking. Check the version of the row when you are updating the row. Get the version of the row when you are fetching the row of the TABLE for update. On the time of updation just fetch the version number and match with your version number (on the time of fetching).

What is wrong with HDFC securities? Are they doing some fraudulent activities or just causing issues with their platform as usually it don't work during market hours?

I have opened a DEMAT account with HDFC Securities in 2019 as HDFC group is well known for the customer services and I also hold a salary account with HDFC Bank, DEMAT account with the following conditions/offers as expressed by the executive. Trading Account Opening Charges (One Time) :  ₹999 (At that time it offered on lower price, I forget the exact price) Trading Annual Maintenance Charges AMC (Yearly Fee) : ₹0 Demat Account Opening Charges (One Time) : ₹0 Demat Account Annual Maintenance Charges AMC (Yearly Fee) : ₹750, nil if portfolio value below ₹2 lacs. Equity Delivery : 0.50% Equity Intraday : 0.05% Equity Futures : 0.05% Equity Options : ₹100 per lot or 1% of the premium (whichever is higher) Currency Futures : ₹23 per contract Currency Options : ₹20 per contract Commodity Futures : 0.02% for Intraday / 0.025% for positional Commodity Options : 0.02% for Intraday / 0.025% for positional It was going good but after 2-3 months I got to know that there are som

Fundamental Analysis : Asian Paints Ltd.

Asian Paints group is the largest paint manufacturer in India also engaged in the business of manufacturing of varnishes, enamels or lacquers, surfacing preparation, organic composite solvents and thinners. It operates in 15 countries and has 26 paint manufacturing facilities in the world serving consumers in over 60 countries. Besides Asian Paints, the group operates around the world through its various brands viz. Asian Paints Berger, Apco Coatings, SCIB Paints, Taubmans, Causeway Paints and Kadisco Asian Paints. It also manufactures metal sanitary ware such as bath, sinks, washbasins and similar articles. Recently introduced Lightings, Furnishings and Furniture thus adding more products in the Home décor and Interior Design category. Market Cap ₹ 244,763 Cr. Current Price ₹ 2,552 High / Low ₹ 2,873 / 1,483 Stock P/E 89.0 Book Value ₹ 115 Dividend Yield 0.47 % ROCE 33.8 % ROE 27.5 % Face Value ₹ 1.00 Price to book value 22.2 EPS ₹ 28.7 High price all time ₹ 2,873 Low price all time ₹

What are JEE Containers? What are their different types?

Containers are the interface between a component and the low-level, platform-specific functionality that supports the component. Before it can be executed, a web, enterprise bean, or application client component must be assembled into a Java EE module and deployed into its container. The assembly process involves specifying container settings for each component in the Java EE application and for the Java EE application itself. Container settings customize the underlying support provided by the Java EE server, including such services as security, transaction management, Java Naming and Directory Interface (JNDI) API lookups, and remote connectivity. Here are some of the highlights. The Java EE security model lets you configure a web component or enterprise bean so that system resources are accessed only by authorized users. The Java EE transaction model lets you specify relationships among methods that make up a single transaction so that all methods in one transaction are treated as a