てぃぐれのプログラマwiki

ワクワクに従う

セグメント・データファイル・エクステント・ブロック 図解【ORACLE】

経緯

セグメントやエクステント等の関係性がこんがらがるので、図にしてみた。

表領域は複数の「データファイル(物理ファイル)・エクステント(論理領域)」からなる。

つまり、表領域はエクステントを通してデータファイル にアクセスする。

セグメント・エクステント・ブロック等関係図

 

 

 

都道府県 何が違うの【素朴な疑問】

経緯

外国人の友人が勉強をしていた。

府の漢字ドリルをしている。そこで都道府県は何が違うのだろうと思ってメモしておく。

 

歴史が違う

都は首都を意味するので、あまり考えないことする。

問題は道府県だが、府と県の違いは、もともと藩であったかどうかである。

藩は県となったが、大阪と京都は幕府の直轄地で、藩ではなかった。行政を担う箇所という意味もあり、府となった。

道はもともと大きすぎて、管理している藩はいなかったため、北海道となったようだ。なんで道なのかはよく分からない。

 

 

腹筋を割るための2つのアプローチ【筋トレ】

経緯

今年は腹筋を割りたい。

 

①腹筋を大きくする

人の腹筋をもともと割れている。その割れている腹筋をさらに大きくするというアプローチである。これは筋トレによって解決する。

 

②腹回りの脂肪を落とす

腹筋というものは元来割れているのにもかかわらず、見た目が割れてないのは、そこに余計な脂肪がのっているからである。その脂肪を取り除いてあげることで、割れた筋肉が見えてくる。そして、視認できるということである。

 

 

JS コンテキストの種類【JavaScript】

●グローバルコンテキスト

 実行中の変数と関数

  →JS直下のコンテキスト

●関数コンテキスト

 arguments/super/this/外部変数

  →function内のコンテキスト

function a {

 //ここで

}

 

知らなかった集合演算子のルール【ORACLE】

列名は同じじゃなくても良い

select
    学生番号 as "01",
    性別 as "02"
from
    TT01_学生
union all
select
    学生番号 as "03",
    部活動コード as "04"
from
    TT02_所属部活動

結果:

01 02
2010B0162 1
2010B0163 1
2010B0164 2

データの型とカラム数が一緒の必要がある。無理やり数を合わせる場合は、nullを使おう。

 

ORDER BY句

基本的に集合演算子以降には使えない。


select 学生番号 as "01",
性別 as "02"
from TT01_学生
union all

select 学生番号 as "03",
部活動コード as "04"
from TT02_所属部活動

order by "03"

 

結果:ORA-00904: "03": invalid identifier

 

下記は可能。でも普通、列名は全て合わせるイメージだが。

select 学生番号 as "01",
性別 as "02"
from TT01_学生
union all

select 学生番号 as "03",
部活動コード as "04"
from TT02_所属部活動

order by "01"

 

ORDER句がないUNIONは1列目がASCとして並び替えられる

UNIONが遅い原因の一つになりそう。。

 

UNION寺のNULLは一つの値としてカウントされるため、NULLの重複も弾かれる

NULLのことはいつも片隅に留めておく必要がある。