What characterizes a database?

Asked

Viewed 435 times

11

What makes a data collection to be called a database?

For example, if I have a file pessoas.txt as follows:

Vinicius
João
Maria
José

And I write, read and update the data there, it is considered a database?

I’ve also seen developers store data in XML:

<?xml version="1.0" standalone="yes" ?> 
<Pessoa>
    <Codigo>1</Codigo> 
    <Nome>Vinicius</Nome> 
</Pessoa>

Or even a CSV file. In fact, there are several ways to store data, however it would be considered database only those architected in technologies like SQL, Mariadb, Mysql, etc?

2 answers

7


This is not a simple definition, anyone can give room to understand something other than what it is. And without a clear definition it is not easy to define what it is.

A database is a diverse collection of data that can be easily organized in many ways and have your data recovery easy and fast. There must be a mechanism that facilitates this, it can’t just be organized data.

Just a simple CSV or XML allows this? I don’t think so. A somewhat more sophisticated mechanism may already be considered a database (for example an Excel spreadsheet). Probably a bad one, but it would be. A format like this could be used for basic storage, albeit inefficient and do not meet all scenarios, but it is not because it has a file so it is already a database.

So the database may not be a single data file, but a mechanism that gets organization and quick access in miscellaneous data using a plain text file is already a database. Note that there is even a requirement for writing to be fast or permanent, these may be features of a specific database model.

A database does not need to use SQL, nor does it need to be relational. Being relational is just a model. SQL is just a relational data manipulation option.

Informally when people talk about databases they are almost always talking about something relational with SQL. More recently the Nosql (bad name) began to be used also, although its adoption is greater than the actual need.

Nor will I reference Wikipedia because both in Portuguese and in English the definition is bad that hurts, the articles are Frankensteins.

  • I must disagree that XML is not considered as valid database format. I remember studying hierarchical databases as a research project for a professor in college. As I don’t remember the original reference to this, I found another bit of this on the internet: wiki C2, I always find the discussion on this site fun; sitepoint. About being quick and easy, this is a desirable effect, not primary, in my understanding

  • 1

    @Jeffersonquesado I think you didn’t read it carefully because I just said that XML can be a format used, it can’t be the database. By its definition anything that has data is a database, I do not know why there should be a term for this, after all "data" would suffice. If you can better define what database is for you, it would be nice.

  • I reread your answer a few times in this passage, I continued in the same understanding. Database definition would be a non-atomic set of data, and a database manager system is something that provides a read/write mechanism over the database. Thus, the database and the database management system are inseparable. I know it is somewhat vague, but that is the definition I have in mind, mainly taking into account the various types of database (hierarchical, key-value, tuples, etc)

  • 1

    @Jeffersonquesado exactly, this does not mean anything and can be used for a lot of thing that nobody would dare call database.

  • Aurélio Verde disagrees on "no one dare": https://s3.amazonaws.com/static.novatec.com.br/sumarios/sumario-9788575221525.pdf chapter 10: textual databases ;-)

  • I only saw an index, not some text that indicates something.

  • the idea was to exemplify that Aurelio had the audacity to characterize textual databases with shell script (tuples in csv, if I’m not mistaken in multiple table files). Unfortunately, I couldn’t find his book on the Internet

  • I found the chapter code on Github: https://github.com/aureliojargas/livro-shell/blob/master/10-banco/

  • 1

    I’m going to close because I feel like we’re going to go around in circles, which you’ve shown has nothing to do with the beginning of the conversation, I’m talking about oranges and you’re talking about lettuce. Everything you said and showed proves what I said in the reply, your conclusion is different.

Show 4 more comments

4

Database, as its name suggests, it is an organized structure, capable of retaining information, and allowing this same information to be retrieved, providing specific mechanisms capable of boosting the task, making efficient, and secure the storage/retrieval of the data/information contained in it - or simply organized collection of data able to relate, so as to make it more consistent for certain tasks?.

What makes a data collection to be called a database is its organizational structure. The database groups the data into specific blocks so that they have their own characteristics - you ever wondered what it would be like to try to find someone with no name, no face, in the middle of a crowd with the same characteristics?

A simple text file (.txt, or any other) may or may not be considered a database, but much depends on how you sort/group the information there, or even purpose for which the information contained therein is intended.

Databases are usually characterized by having a solid, well-defined and organized structure, easy access, retrieval and discrimination of the information contained in them, and above all for being safe, otherwise we would all be using files xml to store passwords.

Some comments/ideas will obviously disagree, and rightly so, but that’s what it is, bank (financial institutions themselves) are so named because they comply with some, if not most, of the characteristics mentioned here. If they weren’t safe, and able to expedite some operations with the money, it would be better if we were using cans to store money, or walking around with millions in our wallet. For this reason when it comes to database these well-known storage systems come to mind.

Edit: security is not at all a key feature to characterize a database.

  • 1

    In fact security is not inherent to the database, even most of them are insecure by default, nor can I remember any different from this.

  • @bigown is not so much, but is in fact a component for database characterization.

  • Guys, discuss concept without bibliographic reference, pure empiricism. But don’t confuse your database types which can be relational SGDB, it can be simple a Data Map; Or simply a txt; A database is a saved data collection; The way it will be managed are its types. https://books.google.com/books?hl=pt-BR&lr=&id=xBeO9LSlK7UC&oi=fnd&pg=PP23&dq=banco+de+os+defini%C3%A7%C3%A3o+&ots=xbMDj1Ba3M&Sig=5mf2OpYhIZutsvORYHzLGR0E#v=page&q=bank%20data%20defini%C3%A7%C3%A3o&f=false ####This book is a good reference.

  • @alxwca thanks for not adding anything new.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.