рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдиреБрд╡рд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рд╡реЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдЦрд╛рддреЗ рд╣реИрдВ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдлреНрд░реАрдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реИ , рд▓реЗрдХрд┐рди рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рддрдХрдиреАрдХреА рд╕рд╛рд╣рд┐рддреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ (рдЬрд┐рд╕реЗ рд░реВрд╕реА рдЕрдиреБрд╡рд╛рджрдХреЛрдВ рдиреЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдбреАрдмреАрдПрдордПрд╕ - рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдХреЛ рдкрдврд╝рддреЗ рд╣реБрдП , рдореИрдВрдиреЗ рдХрднреА рдЗрд╕ рд╢рдмреНрдж рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ - рдбреАрдмреАрдПрдордПрд╕ - рдиреЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ (рдЬреЛ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рджреЗрдЦрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ) , рд▓реЗрдХрд┐рди рдореИрдВ рдЭреВрда рдирд╣реАрдВ рдмреЛрд▓рддрд╛) ред


рддреЛ, рдХреНрдпрд╛ рдпрд╣ рд╢рдмреНрдж рдЧрдврд╝рд╛ рдЧрдпрд╛ рд╣реИ? рдФрд░ рдХрд┐рддрдиреЗ рдРрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ?


рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд┐рдиреНрди рдЖрдИрдЯреА рд╕рд╛рд╣рд┐рддреНрдп рд╕реЗ рддрдерд╛рдХрдерд┐рдд "рд╢рдмреНрджрд╛рд░реНрде рдХреНрд╖реЗрддреНрд░" рд╢рдмреНрдж рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рд╣реИ - рдХреМрди рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИрдВ, рд╡реЗ рдХрд┐рд╕ рдЪреАрдЬ рд╕реЗ рдмрдиреЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдЦрд╛рддреЗ рд╣реИрдВ ред рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджрд╛рд╡рд▓рд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрдЧрд╛ред рдмреЗрд╢рдХ, рдЖрдк рддрдп рдХрд░рддреЗ рд╣реИрдВред


рддреЛ рдЪрд▓рддреЗ рд╣реИрдВред



рдХреМрди рд╕реЗ рд╣реИрдВ?


1980 рдХреЗ рджрд╢рдХ рдХреЗ рдЙрддреНрддрд░рд╛рд░реНрдз рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдП - 1990 рдХреЗ рджрд╢рдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдлреИрд╢рди рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЧрдПред
рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ 1980 рдХреЗ рджрд╢рдХ рдХреЗ рдЕрдВрдд рдФрд░ 1990 рдХреЗ рджрд╢рдХ рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЖрдП рдФрд░ рдЧрдПред

2000 рдХреЗ рджрд╢рдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ XML рдбреЗрдЯрд╛рдмреЗрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдП , рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕рдВрдХреАрд░реНрдг рдЖрд╡реЗрджрди рдорд┐рд▓рд╛ред 2000 рдХреЗ рджрд╢рдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ
XML рдбреЗрдЯрд╛рдмреЗрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдП, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЖрд▓рд╛ рдЧреЛрдж рд▓реЗрдиреЗ рдХреЛ рджреЗрдЦрд╛ рд╣реИред

NoSQLтАж
There are several driving forces behind the adoption of NoSQL databasesтАж

тАжJSON. , , XML. , MongoDB, RethinkDB, CouchDB Espresso.
JSON has the appeal of being much simpler than XML. Document-oriented databases like MongoDB, RethinkDB, CouchDB, and Espresso support this data model.

, .
In document databases, joins are not needed for one-to-many tree structures, and support for joins is often weak.

тАФ ,
Query optimizers for relational databases are complicated beasts, and they have consumed many years of research and development effort

2.3 Cypher, . 2.5 .
Example 2-3 shows the Cypher query to insert the lefthand portion of Figure 2-5 into a graph database

OLTP : .
In most OLTP databases, storage is laid out in a row-oriented fashion: all the values from one row of a table are stored next to each other.

, , . .
Many datasets are simply not that big, so itтАЩs quite feasible to keep them entirely in memory, potentially distributed across several machines. This has led to the development of in-memory databases.

, , .
Similar to concurrency control in a multiuser database environment, locking requires that before the value of a global variable can be used or updated, the variable must be ┬лchecked out.┬╗

, , , ( ) , . , , GenBank.
Researchers working with genome data often need to perform sequence-similarity searches, which means taking one very long string (representing a DNA molecule) and matching it against a large database of strings that are similar, but not identical. None of the databases described here can handle this kind of usage, which is why researchers have written specialized genome database software like GenBank.

, BitTorrent, .
Many peer-to-peer systems, such BitTorrent, do not have any central database of content.

, , .
This lookup process can be repeated indefinitely to build up a large local database of what is out there.

, .
All of the above applications involve interactions between a person and a remote database full of information.

? ?


, ?
Why should you, as an application developer, care how the database handles storage and retrieval internally?

тАФ , .
Full-text search is arguably a kind of data model that is frequently used alongside databases.

db_set , , , .
Similarly to what db_set does, many databases internally use a log, which is an append-only data file.

SQL Server тАФ .
A restore scenario in SQL Server is the process of restoring data from one or more backups and then recovering the database.

SQL Server CREATE , .
In SQL Server, CREATE statement creates a new database and the files used and their filegroups.

SQL Server ALTER , .
In SQL Server, ALTER statement modifies a database, or the files and filegroups associated with the database.

.
A dropped database can be re-created only by restoring a backup.

SQL Server. , .
Dropping a database deletes the database from an instance of SQL Server and deletes the physical disk files used by the database.

(. .: ┬л┬╗ ┬л┬╗ , :
тАФ ALTER DROP ;
тАФ UPDATE DELETE ).


.
If you make a mistake, you can use the snapshot to recover by reverting the database to the snapshot.

(. : , тАФ ┬л ┬╗ тАФ restore. ( ) - тАФ recover).


, [ ] , .
Reverting is potentially much faster for this purpose than restoring from a backup; however, you cannot roll forward afterward.

(. : , , . ┬л ┬╗ ).


.
Using one class to read from and write to a database is a form of centralized control.

PHP- Web- .
It [PHP] can be embedded in Web pages to access and present database information.

SQL ┬л-┬╗ , .
SQL is the de facto standard language for querying, updating, and managing relational databases.

, ?
How would they feel if that database was suddenly corrupted?

тАж within_recursive ( ).
тАж the within_recursive predicate can tell us all the locations in North America (or any other location name) contained in our database.

, .
Instead, each user maintains his own database locally and provides a list of other nearby people who are members of the system.


: .
In order to efficiently find the value for a particular key in the database, we need a different data structure: an index.

SQL Server.
The supported restore scenarios depend on the recovery model of the database and the edition of SQL Server.

тАФ , , , , , .
A recovery model is a database property that controls how transactions are logged, whether the transaction log requires (and allows) backing up, and what kinds of restore operations are available.

SQL Server Database Engine .
For most restore scenarios, it is necessary to apply a transaction log backup and allow the SQL Server Database Engine to run the recovery process for the database to be brought online.

тАФ , SQL Server - () .
Recovery is the process used by SQL Server for each database to start in a transactionally consistent тАФ or clean тАФ state.

тАФ , , , , , .
The desire to hide implementation details is a wonderful reason to create a class whether the details are as complicated as a convoluted database access or as mundane as whether a specific data member is stored as a number or a string.

, , , .
Refactorings that involve class or routine interface changes, database schema changes, or changes to boolean tests, among others, tend to be more risky.

[ ] , . .
A data dictionary is a database that describes all the significant data in a project. In many cases, the data dictionary focuses primarily on database schemas.

тАж
Errors can include <тАж> improperly designing database tablesтАж

, .
Code-generating tools tend to focus on database applications, but that includes a lot of applications.

, , .
The architecture should describe a plan for managing scarce resources such as database connections, threads, and handles.

, , , , , . .
The architecture should describe how the system will address growth in number of users, number of servers, number of network nodes, number of database records, size of database records, transaction volume, and so on.

?
Is the database organization and content specified?

, .frm ( ) , .
Consequently, I adopted a design convention that the .frm file (the form file) was allowed only to retrieve data from the database and store data back into the database. It wasnтАЩt allowed to communicate that data directly to other parts of the program.

[] .
They [subsystems] make it easy to change the database design structure without changing most of the program.

┬л ?┬╗ .
A design question like ┬лWill this database framework work?┬╗ does not provide enough direction for prototyping.

.
You donтАЩt even need to know the database specifics.

CSS XSL/ XPath, , .
We also touched on CSS and XSL/XPath, which arenтАЩt database query languages but have interesting parallels.

тАж , .
тАж data processing was changing from a computer-centered view of information systems to a database-centered view.

, (, ).
The change was to focus on a pool of data on which the computer happened to act (a database-oriented view).

, -, , .
You might also use prebuilt libraries of container classes, scientific functions, user interface classes, and database-manipulation classes.

, , , , , , .
To get Finance the data they need, we may have to cobble together some custom reports, which means bringing in the application developers or database people.

OracleтАж
Upgrade thirty-five instances of Oracle databasesтАж

: ┬л ! ┬╗.
But Wes says, тАЬThatтАЩs not a change! ThatтАЩs just running a database script.

, , , -.
Before that change request would even come to us, I would expect him to get the nod from the application and database owners, and also the business.

тАж , .
A declarative query language тАж hides implementation details of the database engine, which makes it possible for the database system to introduce performance improvements without requiring any changes to queries.



(, , ). , .


: , , ,
:
:


  • Code Complete by Steve McConnell
  • Computer networks by Andrew Tannenbaum
  • рдорд╛рд░реНрдЯрд┐рди рдХреНрд▓реЗрдкрдореИрди рджреНрд╡рд╛рд░рд╛ рдбрд┐рдЬрд╛рдЗрдирд┐рдВрдЧ рдбреЗрдЯрд╛-рдЧрд╣рди рдЕрдиреБрдкреНрд░рдпреЛрдЧ
  • рдЬреАрди рдХрд┐рдо рджреНрд╡рд╛рд░рд╛ рдлреАрдирд┐рдХреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ
  • Microsoft SQL рдкреНрд░рд▓реЗрдЦрди , рдЖрджрд┐ред

рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдмрд╛рдж рдкреАрдПрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА, рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдбреАрдмреАрдПрдордПрд╕ рдиреЗ рдореЗрд░реА рдЖрдВрдЦ рдирд╣реАрдВ рдкрдХрдбрд╝реА рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╢рдмреНрдж рдереЛрдбрд╝рд╛ рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдирдП рд╕рд╛рд╣рд┐рддреНрдп рдореЗрдВ рд▓рдЧрднрдЧ рдХрднреА рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреБрд░рд╛рдиреЗ рд╕рд╛рд╣рд┐рддреНрдп рдореЗрдВ - рд╣рд░ рд╕рдордпред рдорд╛рдлрд╝ рдХрд░рдирд╛ред


All Articles