DB設計したいNight #6 正規化 [online] https://dbnight.connpass.com/event/177859/
「雑用扱いで名前もない」 データ分析の土台を支える“SQLを叩く人”の重要性を問い直す:これからのAIの話をしよう(データ整備人編)(1/3 ページ) 多くの企業がデータの分析・活用に取り組んでいますが、その中で抜け落ちがちなのが、データ整備の視点です。データベースからデータを抽出・集計して分析者に渡す作業は地味に見えますが、データ分析の土台を支える極めて重要な仕事です。 この役割は、戦争でいうところの「兵站」(へいたん)に当たるほど重要なのではないか――データ分析に関する情報発信を続けるしんゆうさんが、自身のブログでこう問いかけた所、予想以上の反響があったといいます。 ※兵站:戦場で、前線の部隊のために軍需品や食料などの供給・補充を行う機関 しんゆうさんは、データを抽出・集計して分析者に渡す人を「データ整備人」「データアーキテクト」と呼び、データ分析に関する勉強会を開催するなどの啓蒙活動
MySQLのZero Dateへの対処法 MySQLの0000-00-00 00:00:00は使ってはならない - そーだいなるらくがき帳 このエントリで、MySQLのゼロが含まれる日付け、いわゆるZero Dateについての問題点が色々挙げられているのを見かけたので、手短に対処法を述べておきたい。 Zero Dateが存在する理由なぜそんな厄介なデータが存在するのかというのは、開発の経緯や互換性といった深淵な理由からなので気にしないで欲しい。まあ、人間は完璧ではないので、人間が作るプログラムも完璧ではないということだ。 当然ながらSQL標準から外れているものは、例外的な使い方をしたい場合を除き、使うべきではない。アンチパターンも使い方次第という話もあるが、例外的な使い方は基本的に苦労が増えるので使うべきではない。 SQLモード実は、Zero DateはSQLモードで禁止できる。SQLモー
前書き - インデックスの作成はなぜ開発者のタスクなのか インデックスの 内部構造 - インデックスは何に似ているか インデックス リーフノード - 二重連結リスト 検索 ツリー(Bツリー) - バランス木 遅いインデックス パートI - インデックスを遅くする2つの原因 where 句 - 検索のパフォーマンスを改善するためにインデックスを作成 等価 演算子 - 一致するキーの検索 プライマリキー - インデックスの使い方を確認 複合インデックス - 複数列に対するインデックス 遅いインデックス パートII - 前の問題点が再び 関数 - where句の 中での関数 大文字・小文字を区別する 検索 - UPPERと LOWER ユーザ定義 関数 - 関数インデックスの制限 インデックスの作り過ぎ - 冗長性の排除法 パラメータ化 クエリ - セキュリティとパフォーマンスのために 範囲 検
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
その例としてBeck氏自身が過去に取り組んできた生命保険会社のアプリケーションを例に挙げます。そのアプリケーションでは毎日のようにスキーマが変化するため、SQLとORM(Object-Relational Mapping)では対応できず、オブジェクトデータベースのGemstoneを利用することで対応できたと述べています。 こうしたSQLだけでは満たせないさまざまな要件、上記の図にあるようにスキーマの可塑性、スケーラブルなデータ読み込み、書き込み、処理の柔軟性などを満たすために、リレーショナルデータベース以外のNoSQLな製品が開発された。これがNoSQLの登場の背景にあるとBeck氏は解説します。一方で、こうしたさまざまなNoSQLを、NoSQLという言葉で表すのは適当ではないという憂慮も示しています。 Here is where the futility of defining NoSQ
データベース研究者の大御所、マイケル・ストーンブレイカー氏が、「SQL URBAN MYTHS」(SQL都市伝説)というWebセミナーを、自身が創設した会社VoltDBで公開しています。 一般にリレーショナルデータベースに対して言われている「SQLは遅すぎる、トランザクションのコストは高すぎる」といった評価について、SQLが遅いのではないし、トランザクション以外のコストが高すぎるのだ、と反論する内容。 これらは同氏が以前から主張してきた内容ではありますが、最近流行しているNoSQLデータベースに対する反論にもなっているため、多くのエンジニアに刺激になる内容となっています。 SQLに関する6つの都市伝説 都市伝説1:SQLは遅すぎる。NoSQLのような低レベルなインターフェイスを使うべき 都市伝説2:キーバリュー型が有望で、SQLは問題外 都市伝説3:SQLデータベースはスケーラブルではない
[Igapyon,Diary,v2,igapyon-q,ORACLE,imp,exp] ORACLEでユーザを新規作成する方法。ORACLEでテーブルの内容をファイルに出し入れする方法 広告: BlancoEclipseDistribution 最新安定版 (3.4.1-20080925) リリース 10/01 最新版の Eclipse である Eclipse Classic (SDK) 3.4.1 一式 (日本語化済み) が Windowsインストーラを用いてインストールできます。 BlancoEclipseDistribution は Eclipseディストリビューションのひとつに該当します。 ごく初歩的な ORACLEユーザ作成方法のメモです。 create tablespace TBLSPACE_IGA datafile 'E:\oracle\oradata\or
●表の一覧 SQL# select * from tab; ●表の項目一覧 SQL# desc 表名;(;は省略可) ●インデックスの一覧 SQL# select * from user_ind_columns; ※指定した表のインデックスのみ、表示することもできます。 SQL# select column_name from user_ind_columns where table_name = '表名'; ●ユーザ一覧 SQL# select username from user_users; ●データベースの文字コード SQL# select * from NLS_DATABASE_PARAMETERS where PARAMETER = 'NLS_NCHAR_CHARACTERSET'; 表のコピー方法 create tableコマンドで表のコピーができます。 ただし、制約条件は、
SQLiteとは Python2.5には、標準でSQLiteという軽量データベースが含まれている。 SQLiteは、JAVAでいうところのHSQLDBやApache Derbyのような感じのようである。 SQLLiteはデーモンやサービスではなく、スタンドアロンでのみ動作する。(DerbyやHSQLDBは組み込みモードとサーバーモードの両方をもつが。) また、データベースのストアもディスク上の単一ファイルになる。 Windowsでいうところの、ACCESS95〜2000で使われていた、JETデータベースエンジンのMDBファイルのような感じであろうか。 要するに単なるライブラリである。 ライセンスは、なんとパブリックドメイン(著作権放棄)である。 そのため、Pythonに限らず、C/C++、Perl、PHPなどに広く組み込まれている。 Python2.4まではアドオンとして別途インストールす
1. 初めに (書きかけ) SQLite は RDMS (関係データベース管理システム) の一種です。 通常の RDMS と異なり面倒なセットアップが不要で、簡単に利用することができます。 通常のファイル並に簡単に扱えるので、 今まではテキストファイルなどに保存していたデータは sqlite に保存するようにすると便利です。 2. Python から SQLite を使う もちろん、Python からも SQLite を利用できます。 Python 2.5 から sqlite3 が build-in package として配布されているので、 すぐに使うことができます。 次の例のように、データファイルに connect するだけで、使うことができます。 データファイルは、 存在しなければ自動的に作成され、 存在すれば、それが開かれます。 また、データの保存はデータベースオブジェクトの co
1.はじめに エンタープライズシステムのような大量の情報管理を行うシステムにおいては、データベースシステムは必須です。現在、データベースシステムには、リレーショナルデータベース(RDBMS)以外にも、XML データベースやオブジェクト指向データベースと選択肢も増えています。しかし、既存リソースの再利用や使い勝手、性能、製品のブランド等を考慮すると、RDBMS が選択されることが多いと思います。 Java 側のオブジェクトと、RDBMS 側のレコードを対応付けて相互に変換することを O/R マッピングと言います。Java では O/R マッピングに関する処理は、DataAccessObject (DAO) パターン [3] によって局所化し、 DAO 内で JDBC によって RDBMS にアクセスするような設計がよく使われます(図 1-1)。 JDBC を使った O/R マッピングは、単調
SQL(Structured Query Language)とはIBMが開発したもので relational databaseの操作を行うための言語である. 主な操作方法は以下の4種類である. SELECT 指定した特性を持つレコードすべてを探し出す SELECT firstname FROM people WHERE lastname='takeda' lastnameが'takeda'さんのfirstnameを取得する INSERT レコードをあらたに追加する INSERT INTO people VALUE ('Taro', 'Hanako', 987, NULL, 24, 'M') 新たにHanako Taroさんのレコードを追加する DELETE レコードを削除する DELETE FROM people WHERE id = 29 idが29のレコードを削除する UPDATE す
The addslashes() Versus mysql_real_escape_string() Debate (Chris Shiflett: The PHP Blog) で文字コードによっては addslashes() による SQL のエスケープ処理は問題があることが指摘されていました。 日本語でも、Shift_JIS を扱っている場合は同様の問題が起きる可能性があるように思われましたので、メモしておきます。何か間違い、勘違いなどがありましたら指摘してください。おそらく、PHP だけの問題ではないと思います。 日本語でも文字コードが Shift_JIS の場合、addslashes() によるエスケープ処理では SQL インジェクションが可能になってしまうケースがあります。 例えば、上記のページの例を少し変更すると以下のようになります。 <?php // 例: 文字コードが Sh
説明 † SQL Injection の応用。記事の表示など一見影響のないユーザ情報テーブルにアクセスしていないアプリケーションでも、データベースにそこでの SQL Injection を使ってユーザのパスワードを抜くという例が挙げられている。 例えば、 http://somesite.example.com/foo.php?id=123 とアクセスした場合、アプリケーション内部では、 SELECT content FROM articles WHERE id=123 という SQL が実行されるアプリケーションがあったとする。ここで、 http://somesite.example.com/foo.php?id=123+AND+1=1 とアクセスした場合、アプリケーション内部では、 SELECT content FROM articles WHERE id=123 AND 1=1 という
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く