社内でSQLアンチパターン勉強会実施中。今回は自分の担当なのでその成果物。
このDBはメタデータの変更なしで 実行時に新しい属性を定義できるらしいっす え、それってEAVじゃないですか。 リレーショナルデータベースは 任意に拡張できるように設計したんだけど… (^o^).o0これあかんやつや |
SQLをテストできる環境を用意
DockerでMySQLが実行できればいいやと思ったので、以下の方法で作成。
$ docker container run --rm -d \ -e MYSQL_ROOT_PASSWORD=mysql \ -p 43306:3306 --name mysql mysql:5.6
$ mysql -h 127.0.0.1 --port 43306 -uroot -pmysql
mycli使うなら
余談だけど、ローカルでさくっとMySQLをいじるなら個人的にはmycliが好き。
$ brew install mycli
mycli -h 127.0.0.1 --port 43306 -uroot -pmysql
mycliは色々と補完してくれる。
というわけでSQLアンチパターンで出てくるSQLを実際に打てるようにした。
資料
作成した資料はこちら。