SQLデータベースの作成についての話

初心者のためのこの記事では、タイプライブラリの数との関係に表面的な導入は、あなたがしたい場合に深い理解は、各コンテンツのための研究が下記に深い分離する必要があります!

 

略して、情報技術は、実際には、情報データの中国情報機械技術です。

処理されるデータは、その後、少なくともいくつかの側面が含まれます。

1)の発現

2)アクセス

3)計算

4)安全

またはそれ以外の場合は、もちろん!

データベースのコアミッションである第二の点。

ここまでの工業用グレードの製品、があります。

1)ネットワーク

2)同時

3)パフォーマンス

4)プログラミング

5)セキュリティ(データ暗号化+へのアクセスなどを含みます)

6)バックアップ/リストア

7)信頼性の高いです

8)互換性

など、綿密な調査が可能であるそれぞれの!

 

関係する通常のDBAのためのデータベースの開発、データベースより自律性(最適化され、高い信頼性、など)で、以前よりもずっと簡単。

 

ほとんどのプログラマのために、データベースと相互作用しなければならない、フロントエンドまたはバックエンドの両方

この記事では、従来のリレーショナルデータベースを扱ういくつかの点に焦点を当てています。

1)インストール

2)バックアップとリカバリ

3)プログラミング(SQL)

これらは、プログラマに所属する基本的なスキルを習得しなければならない、非常に基本的なものです!

 

まず、インストール

最も基本的な要件のプログラマは、何も言うことはありませんその後、インストールされていません!具体的に少し、それはそれぞれのオペレーティングシステムをインストールするために戻って行く必要があることを強調するために、クラスタのバージョンに加えて、インストールされます!

基本的なインストール手順:

することを確認してください。1.機能の範囲

無料または有料のことを確認します。2.

インストールパッケージをダウンロードしてください。3.

インストール4.

5設定

アカウント管理者を作成します。6.

7.設定やネットワークのセキュリティ

第二に、バックアップとリカバリ

      コールドバックアップが必要とされないことがあり、またバックアップされません。それは、プロの必要はないが、それは、少なくとも論理バックアップとリカバリが必要になります!

      どのようにのexpdp / impdpは、MySQLのmysqldumpをする方法を知って、どのようにBCPなどで知っているのSQLServerに知るために、Oracle、。

第三に、プログラム

SQL文に精通しているために、あなたはいくつかの基本的な要素を理解する必要があります。

1.リレーショナル・データベースの概念

新しいものを学ぶことが、あなたは一つの特定のストレージを理解しなければならないので、データストレージの2原理は、異なるRDBMSメモリは、同じではありません

3.sql言語

4.sql - イソ異なるメーカーの規格と実装

 

1,2,3、の欠如を習得する必要があり、資格のSQL文を準備することは困難です!

パラダイム、インデックス、パーティション、ビュー、メタデータ、ロック、キャッシュ、基本的なアルゴリズム(FIFO、LRUなど)、分散データベースなどに:はまた、概念の多くも知っておく必要があります。

 

この記事ではMysql8.xとOracle 12cの一例になります!

 

3.1リレーショナルデータベースの概念

焦点は、あなたが複数の列と行を持つことができ、「関係」にある、またはフォームとして理解することができます。

KVモードでは、データベースから、だけでなく、ビッグデータ・ベースのHDFSと異なっているが、今、いわゆるブロックチェーンデータベースは異なっています!

キーは、リレーショナルデータベース酸を満たすことです。

:アトミックトランザクションが完了または終了していません

C:データの整合性を維持しなければならない前に、トランザクションの後に一貫性が、関連するデータは、ビジネスロジックと一致する必要があります。エネルギーの節約、個人の財政収入と支出の法則の理解を参照することができます!

I:アイソレーション、トランザクションは他のトランザクションには影響しません、トランザクションは単にHubuyingxiangを理解することができます

D:持続性、それが床に従ったデータであり、特定の媒体に保存されている、唯一の状態で常に住むことができません!

広告簡単に理解することが、しかしICはそう簡単に、あなたは深く理解するためのより多くのドキュメントを読む必要はありません!

注:パフォーマンスに違いがある、リレーショナルデータベースは、酸に従いますが、異なる製品の実装は異なる場合があります!

 

 

3.2データストレージ

どのようにデータが格納されている、それは多くの側面に影響を与えるので、それは、非常に複雑なものです:

1.パフォーマンス

2.安全とバックアップ

3.データショー

たとえば、次のようにoracle12c

 

 

 

MySQLのInnoDBの-

 

実際には、メモリとパフォーマンスの間の関係、あなたはレノボ図書館の本、都市計画や他のシーンを見つけることができ、これは、私たちはしばしば実践から「道路は、連結」または理論言うことです!

どの本が速く、より多くのスペース、より安全などを見つけるために置きますか?

どのように都市交通計画の最大容量を実現するためには、同時にほとんどの人々に利益をもたらすことができるはずですか?

パフォーマンスを向上させるために設計された物理的および論理的なストレージシステムのデータベースは非常に重要であり、比較的複雑です。

 

神託を表示するには、テーブルのステートメントを作成MYSQL、私はストレージが重要である感じることができ、コンテンツは学ぶことがたくさんあります。

神託ます。https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/CREATE-TABLE.html#GUID-F9CE0CC3-13AE-4744-A43C-EAC7A71AAAB6

mysqlの:https://dev.mysql.com/doc/refman/8.0/en/create-table.html

このコマンドを実行いくつかのスティックは、それが推定されている頭皮にはクマを見ました:

MySQLの:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)
    [table_options]
    [partition_options]

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)]
    [table_options]
    [partition_options]
    [IGNORE | REPLACE]
    [AS] query_expression

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    { LIKE old_tbl_name | (LIKE old_tbl_name) }

create_definition:
    col_name column_definition
  | {INDEX|KEY} [index_name] [index_type] (key_part,...)
      [index_option] ...
  | {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (key_part,...)
      [index_option] ...
  | [CONSTRAINT [symbol]] PRIMARY KEY
      [index_type] (key_part,...)
      [index_option] ...
  | [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY]
      [index_name] [index_type] (key_part,...)
      [index_option] ...
  | [CONSTRAINT [symbol]] FOREIGN KEY
      [index_name] (col_name,...)
      reference_definition
  | check_constraint_definition

column_definition:
    data_type [NOT NULL | NULL] [DEFAULT {literal | (expr)} ]
      [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
      [COMMENT 'string']
      [COLLATE collation_name]
      [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]
      [STORAGE {DISK|MEMORY}]
      [reference_definition]
      [check_constraint_definition]
  | data_type
      [COLLATE collation_name]
      [GENERATED ALWAYS] AS (expr)
      [VIRTUAL | STORED] [NOT NULL | NULL]
      [UNIQUE [KEY]] [[PRIMARY] KEY]
      [COMMENT 'string']
      [reference_definition]
      [check_constraint_definition]

data_type:
    (see Chapter 11, Data Types)

key_part: {col_name [(length)] | (expr)} [ASC | DESC]

index_type:
    USING {BTREE | HASH}

index_option:
    KEY_BLOCK_SIZE [=] value
  | index_type
  | WITH PARSER parser_name
  | COMMENT 'string'
  | {VISIBLE | INVISIBLE}

check_constraint_definition:
    [CONSTRAINT [symbol]] CHECK (expr) [[NOT] ENFORCED]

reference_definition:
    REFERENCES tbl_name (key_part,...)
      [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
      [ON DELETE reference_option]
      [ON UPDATE reference_option]

reference_option:
    RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT

table_options:
    table_option [[,] table_option] ...

table_option:
    AUTO_INCREMENT [=] value
  | AVG_ROW_LENGTH [=] value
  | [DEFAULT] CHARACTER SET [=] charset_name
  | CHECKSUM [=] {0 | 1}
  | [DEFAULT] COLLATE [=] collation_name
  | COMMENT [=] 'string'
  | COMPRESSION [=] {'ZLIB'|'LZ4'|'NONE'}
  | CONNECTION [=] 'connect_string'
  | {DATA|INDEX} DIRECTORY [=] 'absolute path to directory'
  | DELAY_KEY_WRITE [=] {0 | 1}
  | ENCRYPTION [=] {'Y' | 'N'}
  | ENGINE [=] engine_name
  | INSERT_METHOD [=] { NO | FIRST | LAST }
  | KEY_BLOCK_SIZE [=] value
  | MAX_ROWS [=] value
  | MIN_ROWS [=] value
  | PACK_KEYS [=] {0 | 1 | DEFAULT}
  | PASSWORD [=] 'string'
  | ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}
  | STATS_AUTO_RECALC [=] {DEFAULT|0|1}
  | STATS_PERSISTENT [=] {DEFAULT|0|1}
  | STATS_SAMPLE_PAGES [=] value
  | TABLESPACE tablespace_name [STORAGE {DISK|MEMORY}]
  | UNION [=] (tbl_name[,tbl_name]...)

partition_options:
    PARTITION BY
        { [LINEAR] HASH(expr)
        | [LINEAR] KEY [ALGORITHM={1|2}] (column_list)
        | RANGE{(expr) | COLUMNS(column_list)}
        | LIST{(expr) | COLUMNS(column_list)} }
    [PARTITIONS num]
    [SUBPARTITION BY
        { [LINEAR] HASH(expr)
        | [LINEAR] KEY [ALGORITHM={1|2}] (column_list) }
      [SUBPARTITIONS num]
    ]
    [(partition_definition [, partition_definition] ...)]

partition_definition:
    PARTITION partition_name
        [VALUES
            {LESS THAN {(expr | value_list) | MAXVALUE}
            |
            IN (value_list)}]
        [[STORAGE] ENGINE [=] engine_name]
        [COMMENT [=] 'string' ]
        [DATA DIRECTORY [=] 'data_dir']
        [INDEX DIRECTORY [=] 'index_dir']
        [MAX_ROWS [=] max_number_of_rows]
        [MIN_ROWS [=] min_number_of_rows]
        [TABLESPACE [=] tablespace_name]
        [(subpartition_definition [, subpartition_definition] ...)]

subpartition_definition:
    SUBPARTITION logical_name
        [[STORAGE] ENGINE [=] engine_name]
        [COMMENT [=] 'string' ]
        [DATA DIRECTORY [=] 'data_dir']
        [INDEX DIRECTORY [=] 'index_dir']
        [MAX_ROWS [=] max_number_of_rows]
        [MIN_ROWS [=] min_number_of_rows]
        [TABLESPACE [=] tablespace_name]

query_expression:
    SELECT ...   (Some valid select or union statement)

  顺便说下:如果英文不过关,那么学好计算机还是有一定难度的!毕竟许多资料是英文的!

3.3 sql语句

   标准sql语句,尤其是ddl,dml语句谈不上复杂,准确说,应该是相对很简单的。

   如果有什么稍微难一些的就是 集合运算,譬如 inner join ,left join,full join,但也很容易理解!

  

总结

   要写好sql语句,需要长时间训练,从数据库基础开始,到熟练写出每个sql语句!

   学习之后,写不出每个sql语句,属于资质问题;写不出好的sql语句,可能是学习不够,也可能是资质问题!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/lzfhope/p/12087846.html
おすすめ