-5

I couldn't find the advantages and disadvantages of using a database over plain files. Would you please help me?

Cody Gray - on strike
  • 239,200
  • 50
  • 490
  • 574
Johanna
  • 27,036
  • 42
  • 89
  • 117
  • 5
    I daresay you didn't look well enough... homework, no enthusiasm, voting to close. – markus Jan 20 '10 at 08:22
  • Also related: [database vs. flat files](http://stackoverflow.com/q/2356851), [When/why should I start using a database?](http://stackoverflow.com/q/3945368), and [Database vs Flat Text File: What are some technical reasons for choosing one over another when performance isn't an issue?](http://stackoverflow.com/q/1499239) – Cody Gray - on strike Jul 31 '13 at 06:54

2 Answers2

6

A few database advantages:

  • Highly optimized (indexing, query optimization)
  • Stores many different types of data, generally with type-safety
  • Prebuilt abstractions (SQL, database access layers)
  • Relational integrity (foreign key constraints, etc)
  • ACID (Mostly having to do with data integrity, check Wikipedia...)
  • Interactive queries (for debugging, running ad-hoc reporting, etc)

Plain text doesn't have much except for the most dead-simple application

  • Can inspect on-disk format
  • Extremely simple in every way
  • No need for a server or linked library, etc.

Basically, if you are doing anything other than the most simple data manipulation (especially if you ever expect to have concurrent modifications, complex relations, multiple users, or even just a lot of data) it's well worth getting used to using a database. PostgreSQL is my favorite, although I'm sure you'll find conflicting views on that one :)

Steven Schlansker
  • 37,580
  • 14
  • 81
  • 100
1

Enforcement of standards.

Improved data accessibility and responsiveness.

Increased productivity.

Improved maintenance through data independence.

Increase concurrency.

Improved backup, recovery and data availability.

Control of data redundancy.

  1. Data consistency.

  2. More information from the same amount of data.

    • Data Warehousing, Data mining
  3. Sharing of data.

  4. Improved data integrity.

  5. Improved security.

fazlan
  • 11
  • 1