wiki:Notes/Database

Database Category

Collection point for database related subjects. A big functional chunk of the PyWacket project.

http://en.wikipedia.org/wiki/Database

A database is an organized collection of data ...

http://en.wikipedia.org/wiki/Data_model

A data model organizes data elements and standardizes how the data elements relate to one another.

Since data elements document real life people, places and things and the events between them, the data model represents reality, for example a house has many windows or a cat has two eyes.

Computers are used for the accounting of these real life things and events and therefore the data model is a necessary standard to ensure exact communication between human beings.

Modeling

http://en.wikipedia.org/wiki/Data_modeling

Data modeling (or modelling) in software engineering is the process of creating a data model for an information system by applying formal data modeling techniques ...

http://en.wikipedia.org/wiki/Category:Data_modeling

http://en.wikipedia.org/wiki/Conceptual_schema

http://en.wikipedia.org/wiki/Category:Concepts

See SemanticWeb#SemanticDataModel

Databases

http://en.wikipedia.org/wiki/List_of_relational_database_management_systems

http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

See SQLite, MongoDB

Database Types

http://en.wikipedia.org/wiki/Database#Examples

http://en.wikipedia.org/wiki/Database_model

A database model is a type of data model that determines the logical structure of a database and fundamentally determines in which manner data can be stored, organized, and manipulated. The most popular example of a database model is the relational model, which uses a table-based format.

http://en.wikipedia.org/wiki/Category:Database_models

http://en.wikipedia.org/wiki/Category:Types_of_databases

Flat File

http://en.wikipedia.org/wiki/Flat_file_database

A flat file database is a database which, when not being used, is stored on its host computer system as an ordinary, non-indexed "flat" file. To access the structure of the data and manipulate it, the file must be read in its entirety into the computer's memory. Upon completion of the database operations, the file is again written out in its entirety to the host's file system. In this stored mode, the database has no structure which can be seen external to the file and thus is referred to as a "flat file."

The term has generally implied a small, simple database. As computer memory has become cheaper, larger and more sophisticated databases can now be held in memory in their entirety for faster access, but these would not generally be referred to as flat-file databases.

A flat file can be a plain text file or a binary file. There are usually no structural relationships between the records.

Document Oriented

http://en.wikipedia.org/wiki/Document-oriented_database

A document-oriented database is a computer program designed for storing, retrieving, and managing document-oriented information, also known as semi-structured data.

Document-oriented databases are one of the main categories of NoSQL databases and the popularity of the term "document-oriented database" (or "document store") has grown with the use of the term NoSQL itself.

In contrast to relational databases and their notion of "Relation", i.e., a tuple (or row) of related strong-typed data items, these systems are designed around an abstract notion of a "document".

Relational

My old buddy ... most of the time.

http://en.wikipedia.org/wiki/Relational_database

http://en.wikipedia.org/wiki/Codd%27s_12_rules

Servers

SQLite

MongoDB

My SQL

The 'M' in LAMP, inextricably tied to the 'P'

The existence of MySQL can not be totally avoided, even if one successfully avoids PHP hackers and phpMySQL intrusions ... back to the question of how to make PHP secure.

http://archive09.linux.com/feature/130016

Manage MySQL remotely with phpMyAdmin

To change phpMyAdmin configuration, you must edit the file config.inc.php ...

For each server you want to manage remotely, copy all the lines above, including $i++:, and paste them into the configuration file: you will end up having a similar group of lines for each server you will manage remotely.

https://scriptingmysql.wordpress.com/2012/08/19/mysql-workbench-utilities-administer-mysql-with-python-scripts/

MySQL Workbench Utilities – Administer MySQL with Python Scripts

http://dev.mysql.com/doc/mysql-utilities/1.5/en/index.html

http://mywebsql.net/downloads/

MyWebSql? is an open source, web based, WYSIWYG mysql client written in PHP. It utilizes modern day technologies and browsers to provide a fast, intuitive querying and editing interface to the mysql databases ...


http://www.hotscripts.com/blog/15-mysql-database-administration-tools/

http://www.mysql.com/products/workbench/

http://www.dbvis.com/

DbVisualizer? is tested with the major databases and JDBC drivers. For databases more commonly used in the industry we have added support for database specific features. Some of these features are:

Management of database specific objects Visual actions for CREATE, ALTER, DROP, RENAME and so on Create, Edit and Compile procedures, functions and triggers Explain plan support Schema Export Compare of editors and r

http://squirrel-sql.sourceforge.net/

http://sqlbuddy.com/

SQL Buddy is an open source, lightweight and intuitive database management tool that is easy to install and configure on your server. It is AJAX based and its sleek interface makes it very simple to explore and manage your MySQL databases within your web browser ...

PHP ... Released: January 18, 2011

http://www.adminer.org/en/

Replace phpMyAdmin with Adminer and you will get a tidier user interface, better support for MySQL features, higher performance and more security.

http://sourceforge.net/projects/monoql/

MonoQL is an AJAX web application to manage MySQL databases. MonoQL will provide all major features of phpMyAdmin for MySQL, including database & table design, data browsing & editing, advanced querying & more. MySQL 4+, MySQL 5+ and MySQL 6+ support

Release 2011


http://www.mysqltutorial.org/python-mysql/

http://www.mysql.com/products/workbench/

MySQL Workbench is an extensible tool for database design, development, and administration – with support for python scripting and plugins, that can automate basic tasks.

Understand Your Data, Deeply

http://www.quora.com/Which-companies-have-moved-away-from-MongoDB-and-why

Which companies have moved away from MongoDB and why?

I could not find a single instance in the several discussions and many links where the developer blamed their faulty understanding of their data, yet in every case, that seems to be the underlying reason. Very few mention what the data or application actually was. Maybe they don't think it matters.

  • Step 1 - Understand Your Data
  • Step 2 - Understand Your Data
  • Step 3 - Understand Your Data

Understand Database Technology

http://svs.io/post/31724990463/why-i-migrated-away-from-mongodb

Without the powerful aggregation features that we take for granted in RDBMSs, I would constantly be fighting with unweildy map-reduce constructs when all I want is SUM(amount) FROM receipts WHERE <foo> GROUP BY <bar> ... Just the thought of what that would do to my hardware was enough to turn me off the whole idea. JOINs are cool!

"JOINs are cool!" ... what a discovery ! Maybe you should have started out with PostgreSQL rather than winding up there. A bit more "paralysis-by-analysis" would have saved you six months of dit-zing around.

... if developers don't understand the difference between a relational database and a document database, they're better off not fooling around with either of them.

On the the hand, there are also some genuine concerns about the stability of large scale MongoDB applications ..."

https://aphyr.com/posts/284-call-me-maybe-mongodb

At a top level, I think this points to another key problem with MongoDB, which is maintainability.

MongoDB is very complicated to administer. When a node in the system dies, that exact node has to be replaced. You can’t just bring up another piece of hardware and have it “join the cluster”, you need to replace the node that died, restored from a backup and then you need to update the replica set to which it belonged.

This, of course, is a major pain in the tush ... especially for a low-maintenance distributed application framework.

Also See

KnowledgeBase

SemanticWeb#RDF

Search wiki for 'database'

Last modified 3 years ago Last modified on 05/04/2015 11:42:42 AM