Today in my travels I came across Codd’s 12 rules. They are rules for what qualifies as a relational database. Apparently these rules are discussed in RELATIONAL MODEL DATABASE MANAGEMENT 2 but as that is $486 I will not have a copy any time soon…
Today I saw What is a database backup (back to the basics), which I probably should have read more closely than I did.
I was reading about Abstraction inversion on Wikipedia which mentioned the anti-pattern of “using spreadsheet lookup functions to replicate the functionality of a database”.
So I found this article which said:
$ sudo -u postgres psql
postgres=> alter user postgres password 'apassword'; postgres=> create user your-user createdb createuser password 'passwd'; postgres=> create database your-db-name owner your-user; postgres=> \q
Note: to enable password logins for the ‘postgres’ admin account, edit: /etc/postgresql/9.4/main/pg_hba.conf and after this line:
local all postgres peer
Add this line:
local all postgres md5
To create a database and user account for use on PostgreSQL:
root@devotion:~# su - postgres postgres@devotion:~$ psql psql (8.4.21) Type "help" for help. postgres=# create user "www-data" superuser; CREATE ROLE postgres=# create database mydb with owner "www-data"; CREATE DATABASE postgres=# \c mydb psql (8.4.21) You are now connected to database "mydb". ^ mydb=# alter user "www-data" with password 'secret'; ALTER ROLE
Read an article today called A fast and furious guide to MySQL database engines which talks a little bit about how MySQL database engines work.
One thing I learned which I didn’t know before is that you should run OPTIMIZE TABLE from time to time on your MyISAM database tables.
Read an article about Database Sharding from CodeFutures.
I’m always wondering how big I should make my database columns. I put together a simple PHP script which demonstrates the sizes of various strings which is handy as a reference when thinking about how big you should make your fields.