[解決済み] SQL(言語)の代替となる良いものは何ですか?[クローズド]
質問内容
SQLは最悪で、良い言語ではないという話は時々聞きますが、SQLの代用品についてはあまり聞いたことがありません。では、同じ目的(データベースアクセス)を果たす良い言語が他にあるのでしょうか、また、SQLより優れている点は何でしょうか?また、その代替言語を使用した良いデータベースはありますか?
EDIT SQLは使い慣れていて、いつも使っています。SQLに問題があるわけではありません。ただ、代替手段があるのか、また、なぜその方が良いのかに興味があるだけです。
また、別の種類のデータベース(NoSQLムーブメント)を探しているわけではなく、単にデータベースへのアクセス方法を変えているだけです。
どのように解決するのですか?
SQLの構文が、自動生成の観点からも、解析の観点からも、扱いにくいということには確かに同意しますし、私たちが今日要求しているSQLを設計していたら、このようなスタイルの言語を書くことはないでしょう。もし私たちが今日の言語を設計したならば、これほど多様なキーワードを見つけることはできないでしょうし、結合構文も異なっていたでしょう。
GROUP_CONCAT
SQLの矛盾や冗長性で、もし今日、私たちが言語を再設計したら、よりスムーズになることを期待するものを挙げてみてください。
リレーショナル・データベースと話すためのSQLの代替(つまりプロトコルとしてのSQL)はありませんが、アプリケーションでSQLを書くための代替はたくさんあります。しかし、アプリケーションで SQL を書くための代替手段はたくさんあります。フロントエンドの例としては、以下のようなものがあります。
- スキームQL と CLSQL これらは Lisp の遺産であるため、おそらく最も柔軟性がありますが、他のフロントエンドよりも SQL に似ているように見えます。
- LINQ(.Netの場合)
- ScalaQL と スカラクエリ (Scalaの場合)
- SqlStatement , ActiveRecord などなど、Rubyで
- HaskellDB
- ...他にも多くの言語についてリストアップされています。
今日の裏テーマは、SQLをひとつの新しいクエリ言語に置き換えるのではなく、私たちが普段使っているプログラミング言語の中にSQLを隠すための言語固有のフロントエンドを作り、そのSQLを プロトコル リレーショナル・データベースと対話するための
関連
-
[解決済み】SQL ServerでIdentityカラムを更新する方法は?
-
[解決済み】SQL Serverは「集約関数やサブクエリを含む式に対して集約関数を実行できない」が、Sybaseはできる。
-
[解決済み] データ型 varchar の変換エラー
-
[解決済み] WHERE x IN (5) vs WHERE x = 5 ...なぜINを使うのか?
-
[解決済み] ORA-01735: 無効な ALTER TABLE オプション - ヒキガエル
-
[解決済み] MySQLのON句の不明なカラム
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Excelに合体的な関数はありますか?
-
[解決済み】2つの列を分割する方法は?
-
[解決済み] テスト
-
[解決済み】一括読み込みデータ変換エラー(切り捨て)
-
[解決済み] Presto SQL ピボッティング(言葉は悪いですが)データ
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] FROM のサブクエリにはエイリアスが必要です。
-
[解決済み] アクセスクエリーエラー(from句のシンタックスエラー)
-
[解決済み] 列名または提供された値の数がテーブル定義と一致しません。
-
[解決済み] nvarchar 値 ... をデータ型 int に変換する際に、変換に失敗しました。