Home

Thursday, September 6, 2007

NTFS (New Technology File System)

Whenever you are formatting your harddisk, the option for either a NTFS or a FAT file system pops up. Fine you know NTFS is new and better but how.
A file system is a part of the operating system that determines how files are named, stored and organized on a volume. FAT (File allocation table ) was the standard file system developed by microsoft for the MS-DOS. This was used in all the windows till the Windows ME. Then came the NTFS (New Technology File System) which almost replaced the FAT file allocation.
The NTFS allows greater reliability, security, greater volume size etc. In NTFS all the characteristics of the file (like filename, date of creation) are stored as metadata. NTFS utilizes the power of B+ trees to index file system data. The master file table is used to store the metadata about every file present on the volume. In this system greater security is provided as we can restrict access of files to authorized users.
These features of NTFS sure does give them a reason to be chosen while opting for the type of file system for formatting.

Associated topics :

Monday, September 3, 2007

Rules for Creating a Relational DBMS

So all you programmer's out there think just implementing a database in the form of tables makes your database a relational Database (RDBMS). Well then E.F. Codd challanges this thought of yours. Edgar F. Codd was a british computer scientist who has given a set of 12 rules necessary for creating a relational database. Most of the database management systems like Oracle, SQL server etc. incorporate most of these rules. The rules are :

(1)Information Rule:
All information in a relational database including table names,column names are
represented explicitly by values in tables. Knowledge of only one language is necessary to
access all data such as description of the table and attribute definitions ,integrity
constraints,action to be taken when constraints are voilated,and security information.

(2)Guaranted Access Rule:
Every pieceof data in the relational database,can be accessed by using a
combination of a table name, a primary key value that identifies the row and a column
that identifies the cell.The benefit of this is that user productivity is improved
since there is no need to resort to using physical pointers addresses.Provides
data independence.

(3)Systematic treatment of Nulls Rule:
The RDBMS handles that have unknown on inapplicable values in a predefined fashion.
RDBMS distinguishes between zeros,blanks and nulls in records and handles such values in
a consistent manner that produces correct answers,comparisions and calculations.

(4)Active On-Line Catalog Based on the Relational Model.
THe description of a database and its contents are database tables and therefore
can be queries online via the data language.The DBA's productivity is improved since
changes and additionsto the catalog can be done with the same commands that are
used to access any other table.All queries and reports can be done as with other tables.

(5)Comprehensive Data Sublanguage Rule:
A RDBMS may support several languages,but atleast one of them allows the user to do all
of the following:define tables view,query and update data ,set integrity constraints,
set authorization,and define transactions.

(6)View Updating Rule:
Any view that is theoretically updatable,if changes can be made to the tables that
effect the desired changes in the view.Data consistency is ensured since changes
in the underlying tables are transmittedto the view they support.Logical data
independence reduces maintenance cost.

(7)High Level Inserts,Update and Delete:
THe RDBMS supports insertion,updation and deletion at a table level.With this the
RDBMS can improveperformance by optimizing the path to be taken to execute the action
Ease of use improved since commands act on set of records.

(8)Physical data Independence :
The execution of adhoc requests and application programs is not affected by changes
in the physical data access and storage methods.Database administrators can make
the changes to physical acccess and storage methods ,which improve performance
but do not changes in the application programs or adhoc requests.This reduces
maintenance costs.

(9)Logical data Independence:
Logical changes in tables and view such asadding/deleting columns or changing
field lenghts do not necessitate modifications in application programs or in the
format of adhoc requests.

(10)Integrity Independance:
Like table/view definitions ,integrity constraints are atored in the
on-line catalog and therefore can be changed without necessitating changes
in application programs or in the format of adhoc requests .
The following two integrity constraints must be supported.
(a)Entity Integrity:
No component of primary key is allowed to have anull value.
(b)Referential integrity:
For each distinct non-null foreign key value in a relationaldatabase,
there must exist a matching primary key from the same range of data value.

(11)Distribution Independence:
Application programs and adhoc requests are not affected by changes
in the distribution of the physical data.

(12)Nonsubversion Rule:
If the RDBMS has a language change that accesses the information
of a record at a time,this language cannot be used to by-pass the
integrity constraints.Inoreder to adhere to this rule the RDBMS must have an
active catalog that containsthe constraints must have a logical data independence.