翻译SQL文献

合集下载

外文文献及翻译

外文文献及翻译

外文文献原稿和译文原稿DATABASEA database may be defined as a collection interrelated data store together with as little redundancy as possible to serve one or more applications in an optimal fashion .the data are stored so that they are independent of programs which use the data .A common and controlled approach is used in adding new data and in modifying and retrieving existing data within the data base .One system is said to contain a collection of database if they are entirely separate in structure .A database may be designed for batch processing , real-time processing ,or in-line processing .A data base system involves application program, DBMS, and database.THE INTRODUCTION TO DATABASE MANAGEMENT SYSTEMSThe term database is often to describe a collection of related files that is organized into an integrated structure that provides different people varied access to the same data. In many cases this resource is located in different files in different departments throughout the organization, often known only to the individuals who work with their specific portion of the total information. In these cases, the potential value of the information goes unrealized because a person in other departments who may need it does not know it or it cannot be accessed efficiently. In an attempt to organize their information resources and provide for timely and efficient access, many companies have implemented databases.A database is a collection of related data. By data, we mean known facts that can be recorded and that have implicit meaning. For example, the names, telephone numbers, and addresses of all the people you know. You may have recorded this data in an indexed address book, or you may have stored it on a diskette using a personalcomputer and software such as DBASE Ⅲor Lotus 1-2-3. This is a collection of related data with an implicit meaning and hence is a database.The above definition of database is quite general. For example, we may consider the collection of words that made up this page of text to be usually more restricted. A database has the following implicit properties:● A database is a logically coherent collection of data with some inherent meaning. A random assortment of data cannot be referred to as a database.● A database is designed, built, and populated with data for a specific purpose. It has an intended group of user and some preconceived applications in which these users are interested.● A database represents some aspect of the real world, sometimes called the miniworld. Changes to the miniworld are reflected in the database.In other words, a database has some source from which data are derived, some degree of interaction with events in the real world, and an audience that is actively interested in the contents of the database.A database management system (DBMS) is composed of three major parts: (1) a storage subsystem that stores and retrieves data in files; (2)a modeling and manipulation subsystem that provides the means with which to organize the data and to add, delete, maintain, and update the data; and (3) an interface between the DBMS and its users. Several major trends are emerging that enhance the value and usefulness of database management systems.●Managers who require more up-to-date information to make effective decisions.●Customers who demand increasingly sophisticated information services and more current information about the status of their orders, invoices, and accounts.●Users who find that they can develop custom applications with database systems in a fraction of the time it takes to use traditional programming languages.●Organizations that discover information has a strategic value; they utilize their database systems to gain an edge over their competitors.A DBMS can organize, process, and present selected data elements from the database. This capability enables decision makers to search, probe, and query database contents in order to extract answers to nonrecurring and unplanned questions that aren’t available in regular reports. These questions might initially be vague and/or p oorly defined, but people can “browse” through the database until they have the needed information. In short, the DBMS will “mange” the stored data items and assemble the needed items from the common database in response to the queries of those who aren’t programmers. In a file-oriented system, user needing special information may communicate their needs to a programmer, who, when time permits, will write one or more programs to extract the data and prepare the information. The availability of a DBMS, however, offers users a much faster alternative communications path.DATABASE QUERYIf the DBMS provides a way to interactively enter and update the database ,as well as interrogate it ,this capability allows for managing personal database. However, it does not automatically leave an audit trail of actions and does not provide the kinds of controls necessary in a multi-user organization .There controls are only available when a set of application programs is customized for each data entry and updating function.Software for personal computers that perform some of the DBMS functions has been very popular .Individuals for personal information storage and processing intended personal computers for us .Small enterprises, professionals like doctors, architects, engineers, lawyers and so on have also used these machines extensively. By the nature of intended usage ,database system on there machines are except from several of the requirements of full-fledged database systems. Since data sharing is not intended, concurrent operations even less so ,the software can be less complex .Security and integrity maintenance are de-emphasized or absent .as data volumes will be small, performance efficiency is also less important .In fact, the only aspect of a database system that is important is data independence. Data independence ,as stated earlier ,means that application programs and user queries need not recognize physical organization of data on secondary storage. The importance of this aspect , particularly for the personal computer user ,is that this greatly simplifies database usage . The user can store ,access and manipulate data at ahigh level (close to the application)and be totally shielded from the low level (close to the machine )details of data organization.DBMS STRUCTURING TECHNIQUESSpatial data management has been an active area of research in the database field for two decades ,with much of the research being focused on developing data structures for storing and indexing spatial data .however, no commercial database system provides facilities for directly de fining and storing spatial data ,and formulating queries based on research conditions on spatial data.There are two components to data management: history data management and version management .Both have been the subjects of research for over a decade. The troublesome aspect of temporal data management is that the boundary between applications and database systems has not been clearly drawn. Specifically, it is not clear how much of the typical semantics and facilities of temporal data management can and should be directly incorporated in a database system, and how much should be left to applications and users. In this section, we will provide a list of short-term research issues that should be examined to shed light on this fundamental question.The focus of research into history data management has been on defining the semantics of time and time interval, and issues related to understanding the semantics of queries and updates against history data stored in an attribute of a record. Typically, in the context of relational databases ,a temporal attribute is defined to hold a sequence of history data for the attribute. A history data consists of a data item and a time interval for which the data item is valid. A query may then be issued to retrieve history data for a specified time interval for the temporal attribute. The mechanism for supporting temporal attributes is to that for supporting set-valued attributes in a database system, such as UniSQL.In the absence of a support for temporal attributes, application developers who need to model and history data have simply simulated temporal attributes by creating attribute for the time interval ,along with the “temporal” attribute. This of course may result in duplication of records in a table, and more complicated search predicates in queries. The one necessary topic of research in history data management is to quantitatively establish the performance (and even productivity) differences betweenusing a database system that directly supports attributes and using a conventional database system that does not support either the set-valued attributes or temporal attributes.Data security, integrity, and independenceData security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database of the database, called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data.Data integrity refers to the accuracy, correctness, or validity of the data in the database. In a database system, data integrity means safeguarding the data against invalid alteration or destruction. In large on-line database system, data integrity becomes a more severe problem and two additional complications arise. The first has to do with many users accessing the database concurrently. For example, if thousands of travel agents book the same seat on the same flight, the first agent’s booking will be lost. In such cases the technique of locking the record or field provides the means for preventing one user from accessing a record while another user is updating the same record.The second complication relates to hardware, software or human error during the course of processing and involves database transaction which is a group of database modifications treated as a single unit. For example, an agent booking an airline reservation involves several database updates (i.e., adding the passenger’s name and address and updating the seats-available field), which comprise a single transaction. The database transaction is not considered to be completed until all updates have been completed; otherwise, none of the updates will be allowed to take place.An important point about database systems is that the database should exist independently of any of the specific applications. Traditional data processing applications are data dependent.When a DMBS is used, the detailed knowledge of the physical organization of the data does not have to be built into every application program. The application program asks the DBMS for data by field name, for example, a coded representationof “give me customer name and balance due” would be sent to the DBMS. Without a DBMS the programmer must reserve space for the full structure of the record in the program. Any change in data structure requires changes in all the applications programs.Data Base Management System (DBMS)The system software package that handles the difficult tasks associated with creating ,accessing and maintaining data base records is called a data base management system (DBMS). A DBMS will usually be handing multiple data calls concurrently.It must organize its system buffers so that different data operations can be in process together .It provides a data definition language to specify the conceptual schema and most likely ,some of the details regarding the implementation of the conceptual schema by the physical schema.The data definition language is a high-level language, enabling one to describe the conceptual schema in terms of a “data model “.At the present time ,there are four underling structures for database management systems. They are :List structures.Relational structures.Hierarchical (tree) structures.Network structures.Management Information System(MIS)An MIS can be defined as a network of computer-based data processing procedures developed in an organization and integrated as necessary with manual and other procedures for the purpose of providing timely and effective information to support decision making and other necessary management functions.One of the most difficult tasks of the MIS designer is to develop the information flow needed to support decision making .Generally speaking ,much of the information needed by managers who occupy different levels and who have different levels and have different responsibilities is obtained from a collection of exiting information system (or subsystems)Structure Query Language (SQL)SQL is a data base processing language endorsed by the American NationalStandards Institute. It is rapidly becoming the standard query language for accessing data on relational databases .With its simple ,powerful syntax ,SQL represents a great progress in database access for all levels of management and computing professionals.SQL falls into two forms : interactive SQL and embedded SQL. Embedded SQL usage is near to traditional programming in third generation languages .It is the interactive use of SQL that makes it most applicable for the rapid answering of ad hoc queries .With an interactive SQL query you just type in a few lines of SQL and you get the database response immediately on the screen.译文数据库数据库可以被定义为一个相互联系的数据库存储的集合。

jsp+sql智能道路交通信息管理系统-文献翻译

jsp+sql智能道路交通信息管理系统-文献翻译

译文:JDBC与JSP研究1JDBC入门本文阐述了JDBC(数据库连接)API(应用程序接口)的基本内容。

在这里,你将学到用基本的JDBC API去创建表单,插入数值,查询表单,检索结果,修改表单,创建动态语句,完成事务,捕捉异常和错误。

本文来自SUN公司关于JDBC基础内容的官方指南。

--概述--建立连接--第一个JDBC语句--精制JDBC语句--执行DDL语句--执行查询语句--结果集访问说明--事务处理--异常和错误处理--简单的代码和编辑规则1.1 概述JDBC的访问级接口是提供了SQL数据库操作和更新操作的编程接口。

他们通过带数据库接口的库程序允许在普通的程序中调用SQL。

特别的,Java提供了很多非常简单的基于JDBC的接口。

这里有一条简单的方法可也看到在访问级发生了什么:你正在写一个简单的Java程序。

在程序的某处,你需要和数据库交换数据。

用标准的库程序,你就可也打开一个数据库的连接。

接下来,用JDBC来发送SQL代码给数据库,并且加工要返回的结果。

等到你结束工作,就关闭数据连接。

这样的方法需要和内嵌SQL的预编辑方法相比较。

后者含有一个预编辑过程,在这个过程中内嵌的SQL语句被转化为主机语言代码(C/C++)。

访问级的接口不要求预编辑过程就避免了内嵌SQL语句转化的过程。

这样在增加轻便性的同时使客户—服务的关系更清晰。

1.2 建立连接当然,最先要做的是在你的计算机上安装Java,JDBC和DBMS。

由于我们想要连接Oracle数据库,我们也就需要一个支持它的驱动程序。

幸运地是,我们有一个负责的主管他已经在Leland的机子上为我们做好了。

和前面说的一样,在一个数据库能被访问前,一个在程序(client)和数据库(server)之间的连接必须被打开。

这包括两步:1、装载特定厂商的驱动程序为什么需要这一步呢?为了确保轻便和代码重用,API被尽可能地设计来不依赖于一个数据库的版本或厂家。

外文文献怎么翻译

外文文献怎么翻译

外文文献的翻译方法和技巧在科学研究领域,阅读和理解外文文献是非常重要的,因为这些文献包含了世界各地研究者的最新成果和观点。

然而,由于语言障碍,许多人可能觉得翻译外文文献是一项困难的任务。

本文将介绍一些有效的翻译方法和技巧,帮助读者更好地理解和翻译外文文献。

选择合适的翻译工具在翻译外文文献时,选择合适的工具是非常重要的。

一些常见的翻译工具包括在线翻译网站和翻译App。

这些工具可以帮助读者快速翻译文献,但需要注意的是,这些工具可能存在一定的翻译误差,因此在使用时要注意核对翻译结果。

保持原文的风格和语气在翻译外文文献时,要尽可能保持原文的风格和语气。

这样可以更好地传达原作者的意图和思想。

在翻译过程中,读者可以使用词典等工具帮助理解原文中的专业术语和文化背景,以确保翻译的准确性和通顺性。

注意语法和语法结构另一个翻译外文文献的重要方面是注意语法和语法结构。

外文文献往往使用复杂的句子结构和语法规则,因此在翻译时要保持句子的逻辑和结构。

正确理解原文中的句子结构和语法规则,可以帮助读者更好地翻译文献并消除歧义。

查找背景知识和参考资料翻译外文文献时,有时可能会遇到一些专业术语和概念,读者不熟悉。

在这种情况下,建议读者查找相关背景知识和参考资料,帮助理解原文中的内容。

这样不仅可以提高翻译的准确性,还可以扩展读者的知识面。

结语总的来说,翻译外文文献是一项需要一定技巧和耐心的工作。

通过选择合适的翻译工具、保持原文的风格和语气、注意语法和语法结构、查找背景知识和参考资料,读者可以更好地理解和翻译外文文献。

希望本文介绍的方法和技巧对读者有所帮助。

MySQL数据库管理外文翻译文献

MySQL数据库管理外文翻译文献

MySQL数据库管理外文翻译文献(文档含中英文对照即英文原文和中文翻译)原文:Management Center of MySQLAuthors: Lauderdale, JohnTsang, Danny H. K.Baciu, GeorgeIssue Date: 2006Citation: Proceedings of IEEE Visual '96, Melbourne, Australia, February 2006, p. 447-458Database (sometimes spelled database) is also called an electronic database, referring to any collections of data, or information, that is specially organized for rapid search and retrieval by a computer. Databases are structured to facilitate the storage, retrieval, modification and deletion of data in conjunction with various data-processing operations.Database can be stored on magnetic disk or tape, optical disk, or some other secondary storage device.A database consists of a file or a set of files. The information in the these files may be broken down into records, each of which consists of one or more fields are the basic units of data storage, and each field typically contains information pertaining to one aspect or attribute of the entity described by the database. Using keywords and various sorting commands, users can rapidly search, rearrange, group, and select the fields in many records to retrieve or create reports on particular aggregates of data.Database records and files must be organized to allow retrieval of the information. Early system were arranged sequentially (i.e., alphabetically, numerically, or chronologically); the development of direct-access storage devices made possible random access to data via indexes. Queries are the main way users retrieve database information. Typically the user provides a string of characters, and the computer searches the database for a corresponding sequence and provides the source materials in which those characters appear. A user can request, for example, all records in which the content of the field for a person’s last name is the word Smith.In flat databases, records are organized according to a simple list of entities; many simple databases for personal computers are flat in structure. The records in hierarchical databases are organized in a treelike structure, with each level of records branching off into a set of smaller categories. Unlike hierarchical databases, which provide single links between sets of records at different levels, network databases create multiple linkages between sets by placing links, or pointers, to one set of records in another; the speed and versatility of network databases have led to their wide use in business. Relational databases are used where associations among files or records cannot be expressed by links; a simple flat list becomes one table, or “relation”, and multiple relations can be mathematically associated to yield desired information. Object-oriented databases store and manipulate more complex data structures, called “objects”, which are organized into hierarchical classes that may inherit properties from classes higher in the chain; this database structure is the most flexible and adaptable.The information in many databases consists of natural-language texts of documents; Small databases can be used by individuals at home. These and larger databases have become increasingly important in business life. Typical commercial applications include airline reservations, production management, medical records in hospitals, and legal records of insurance companies. The largest databases are usually maintained by governmental agencies, business organizations, and universities. These databases may contain texts of such materialsas catalogs of various kinds. Reference databases contain bibliographies or indexes that serve as guides to the location of information in books, periodicals, and other published literature. Thousands of these publicly accessible databases now exist, covering topics ranging from law, medicine, and engineering to news and current events, games, classified advertisements, and instructional courses. Professionals such as scientists, doctors, lawyers, financial analysts, stockbrokers, and researchers of all types increasingly rely on these databases for quick, selective access to large volumes of information.DBMS Structuring TechniquesSequential, direct, and other file processing approaches are used to organize and structure data in single files. But a DBMS is able to integrate data elements from several files to answer specific user inquiries for information. That is, the DBMS is able to structure and tie together the logically related data from several large files.Logical Structures. Identifying these logical relationships is a job of the data administrator. A data definition language is used for this purpose. The DBMS may then employ one of the following logical structuring techniques during storage, access, and retrieval operations.List structures. In this logical approach, records are linked together by the use of pointers.A pointer is a data item in one record that identifies the storage location of another logically related record. Records in a customer master file, for example, will contain the name and address of each customer, and each record in this file is identified by an account number. During an accounting period, a customer may buy a number of items on different days. Thus, the company may maintain an invoice file to reflect these transactions. A list structure could be used in this situation to show the unpaid invoices at any given time. Each record in the customer in the invoice file includes a field, it pointed to the location of the first invoice record in invoice file, this invoice record, in turn, would be linked to next invoices for the customer. The last invoice in the chain would be identified by the use of a special character as a pointer.Hierarchical (tree) structures. In this logical approach, data units are structured in multiple levels that graphically resemble an “upside down” tree with the root at the top and the branches formed below. There’s a superior-subordinate relationship in a hierarchical (tree) structure. Below the single-root data component are subordinate elements or nodes, in turn, each element or branch in this structure below the root has only a single owner. Thus, a customer owns an invoice, and the invoice has subordinate items. The branches in a tree structure are not connected.Network Structures. Unlike the tree approach, which does not permit the connection ofbranches, the network structure permits the connection of the nodes in a multidirectional manner. Thus, each node may have several owners and may, in turn, own any number of other data units. Data management software permits the extraction of the needed information from such a structure by beginning with any record in a file.Relational structures. A relational structure is made up of many tables. The data are stored in the form of “relations” in these tables. This is a relatively new database structuring app roach that’s expected to be widely implemented in the future.Physical Structures. People visualize or structure data in logical ways for their own purposes. Thus, records R1 and R2 may always be logically linked and processed in sequence in one particular application. However, in a computer system it’s quite possible that these records that are logically contiguous in one application are not physically stored together. Rather, the physical structure of the records in media and hardware may depend not only on the I/O and storage devices and storage techniques used, but also on the different logical relationships that users may assign to the data found in R1 and R2. For example, R1 and R2 may be records of credit customers who have shipments send to the same block in the same city every 2 weeks. From the shipping department manager’s perspective, then, R1 and R2 are sequential entries on a geographically organized shipping report. But in the A/R application, the customers represented by R1 and R2 may be identified, and their accounts may be processed, according to their account numbers which are widely separated. In short, then, the physical location of the stored records in many computer-based information systems is invisible to users.Database Management Features of MySQLMySQL includes many features that make the database easier to manage. We’ve divided the discussion in this section into three categories: MySQL Enterprise Manager, add-on packs, backup and recovery.1. MySQL Enterprise ManagerAs part of Database Server, MySQL provides the MySQL Enterprise Manager (EM), a database management tool framework with a graphical interface used to manage database users, instances, and features (such as replication) that can provide additional information about the MySQL environment.Prior to the MySQL8i database, the EM software had to be installed on Windows 95/98 or NT-based systems and each repository could be accessed by only a single database manager at a time. Now you can use EM from a browser or load it onto Windows 95/98/2000 or NT-based systems. Multiple database administrators can access the EM repository at the same time. In the EM repository for MySQL9i, the super administrator can define servicesthat should be displayed on other administrators’ console s, and management regions can be set up.2. Add-on packsSeveral optional add-on packs are available for MySQL, as described in the following sections. In addition to these database-management packs, management packs are available for MySQL Applications and for SAP R/3.(1)standard Management PackThe Standard Management Pack for MySQL provides tools for the management of small MySQL databases (e.g., MySQL Server/Standard Edition). Features include support for performance monitoring of database contention, I/O, load, memory use and instance, session analysis, index tuning, and change investigation and tracking.(2)Diagnostics PackYou can use the Diagnostic Pack to monitor, diagnose, and maintain the health of Enterprise Edition databases, operating systems, and applications. With both historical and real-time analysis, it can automatically avoid problems before they occur. The pack also provides capacity planning features that help you plan and track future system-resource requirements.(3)Tuning PackWith the Tuning Pack, you can optimise system performance by identifying and tuning Enterprise Edition databases and application bottlenecks such as inefficient SQL, poor data design, and the improper use of system resources. The pack can proactively discover tuning opportunities and automatically generate the analysis and required changes to tune the systems.(4)Change Management PackThe Change Management Pack helps eliminate errors and avoid loss of data when upgrading Enterprise Edition databases to support new applications. It can analysis impact and complex dependencies associated with application changes and automatically perform database upgrades. Users can use the easy-to-use wizards that teach the systematic steps necessary to upgrade.(5)AvailabilityMySQL Enterprise Manager can be used for managing MySQL Standard Edition or Enterprise Edition. To Enterprise Edition, additional functionality is provided by separate Diagnostics, Tuning, and Change Management Packs.3. Backup and RecoveryAs every database administrator knows, backing up a database is a rather mundane butnecessary task. An improper backup makes recovery difficult, if not impossible. Unfortunately, people often realize the extreme importance of this everyday task only when it is too late –usually after losing business-critical data due to a failure of a related system.The following sections describe some products and techniques for performing database backup operations.(1)Recovery ManagerTypical backups include complete database backups (the most common type), database backups, control file backups. Previously, MySQL’s Enterprise Backup Utility (EBU) provided a similar solution on some platforms. However, RMAN, with its Recovery Catalog stored in an MySQL database, provides a much more complete solution. RMAN can automatically locate, back up, restore, and recover databases, control files, and archived redo logs. RMAN for MySQL9i can restart backups and restores and implement recovery window policies when backups expire. The MySQL Enterprise Manager Backup Manager provides a GUI-based interface to RMAN.(2)Incremental backup and recoveryRMAN can perform incremental backups of Enterprise Edition databases. Incremental backups back up only the blocks modified since the last backup of a datafile, tablespace, or database; thus, they’re smaller and faster than complete backups. RMAN can also perform point-in-time recovery, which allows the recovery of data until just prior to a undesirable event.(3)Legato Storage ManagerVarious media-management software vendors support RMAN. MySQL bundles Legato Storage Manager with MySQL to provide media-management services, including the tracking of tape volumes, for up to four devices. RMAN interfaces automatically with the media-management software to request the mounting of tapes as needed for backup and recovery operations.(4)AvailabilityWhile basic recovery facilities are available for both MySQL Standard Edition and Enterprise Edition, incremental backups have typically been limited to Enterprise Edition. Choosing between MySQL and SQL ServerI have to decide between using the MySQL database and its development system, Microsoft SQL Server with Visual Studio. This choice will guide our future Web projects. What are the strong points of each of these combinations and what are the negatives?Lori: Making your decision will depend on what you already have. For instance, if you want to implement a Web-based database application and you are a Windows-only shop, SQLServer and the Visual Studio package would be fine. But the MySQL solution would be better with mixed platforms.There are other things to consider, such as what extras you get and what skills are required. WebDB is a content management and development tool that can be used by content creators, database administrators, and developers without any programming experience. WebDB is a browser-based tool that helps ease content creation and provides monitoring and maintenance tools. This is a good solution for organizations already using MySQL. MySQL also scales better than SQL Server, but you will need to have a competent MySQL administrator on hand.The SQL Sever/Visual Studio approach is more difficult to use and requires an experienced object-oriented programmer or some extensive training. However, you do get a fistful of development tools with Visual Studio: Visual Basic, Visual C++, and Visual InterDev for only $1,619. Plus, you will have to add the cost of the SQL Server, which will run you $1,999 for 10 clients or $3,999 for 25 clients-a less expensive solution than MySQL’s.MySQL also has a package solution that starts at $6,767, depending on the platform selected. The suite includes not only WebDB and MySQL8i but also other tools for development such as the MySQL application server, JDeveloper, and Workplace Templates, and the suite runs on more platforms than the Microsoft solution does. This can be a good solution if you are a start-up or a small to midsize business. Buying these tools in a package is less costly than purchasing them individually.Much depends on your skill level, hardware resources, and budget. I hope this helps in your decision-making.Brooks: I totally agree that this decision depends in large part on what infrastructure and expertise you already have. If the decision is hard, you need to fi gure out who’s going to be doing the work and what your priorities are.These two products have different approaches, and they reflect the different personalities of the two vendors. In general, MySQL products are designed for very professional development efforts by top-notch programmers and project leaders. The learning period is fairly long, and the solution is pricey; but if you stick it out you will ultimately have greater scalability and greater reliability.If your project has tight deadlines and you don’t have the time or money to hire a team of very expensive, very experienced developers, you may find that the MySQL solution is an easy way to get yourself in trouble. There’s nothing worse than a poorly developed MySQL application.What Microsoft off ers is a solution that’s aimed at rapid development and low-cost implementation. The tools are cheaper, the servers you’ll run it on are cheaper, and the developers you need will be cheaper. Choosing SQL Sever and Visual Studio is an excellent way to start fast.Of course, there are trade-offs. The key problem I have with Visual Studio and SQL Server is that you’ll be tied to Microsoft operating systems and Intel hardware. If the day comes when you need to support hundreds of thousands of users, you really don’t have anywhere to go other than buying hundreds of servers, which is a management nightmare.If you go with the Microsoft approach, it sounds like you may not need more than Visual Interdev. If you already know that you’re going to be developing Activ eX components in Visual Basic or Visual C++, that’s warning sign that maybe you should look at the MySQL solution more closely.MySQL数据库管理中心数据库(有时拼成database)也称为电子数据库,是指由计算机特别组织的快速查找和检索的任意的数据或信息集合。

关于sql的参考文献

关于sql的参考文献

关于sql的参考文献SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准化语言。

在学习和使用SQL时,参考文献是非常重要的资源,它们可以提供详细的指导和深入的理解。

以下是一些关于SQL的参考文献,它们涵盖了不同的主题和难度级别,可以帮助你深入学习和掌握SQL。

1. "SQL Cookbook" by Anthony Molinaro 这本书提供了大量的SQL问题和解决方案,涵盖了各种常见的数据库操作和查询场景。

它适合那些希望通过实际问题来学习SQL的人。

2. "SQL in 10 Minutes a Day" by Ben Forta 这本书适合初学者,它以简洁明了的方式介绍了SQL的基本概念和语法。

通过逐步构建知识,读者可以快速入门SQL。

3. "Learning SQL" by Alan Beaulieu 这本书适合那些希望深入学习SQL的人。

它涵盖了SQL的基础知识和高级概念,包括数据库设计、查询优化和数据分析等方面。

4. "SQL Performance Explained" by Markus Winand 这本书专注于SQL性能优化,它探讨了如何编写高效的SQL查询和设计高性能的数据库架构。

对于那些希望提高SQL查询性能的人来说,这是一本非常有价值的参考书。

5. "SQL Antipatterns: Avoiding the Pitfalls of Database Programming" by Bill Karwin 这本书介绍了一些常见的SQL反模式和错误,以及如何避免它们。

通过学习这些反模式,读者可以提高自己编写高质量SQL代码的能力。

6. "The Art of SQL" by Stephane Faroult and Peter Robson 这本书深入探讨了SQL的内部工作原理和优化技巧。

中英文参考文献转换

中英文参考文献转换

中英文参考文献转换
要将中文参考文献转换为英文参考文献,可以按照以下步骤进行:
1. 将中文作者的姓名转换为英文。

可以根据拼音或者姓名的汉语翻译来进行转换。

例如,将“李明”转换为“Li Ming”。

2. 将中文文章的标题转换为英文。

可以直接将中文标题翻译为英文,或者进行适当的修改和调整。

例如,将“中文参考文献
转换”翻译为“Translation of Chinese References”.
3. 转换中文期刊名称为英文。

可以参考已有的英文期刊名称进行翻译,或者根据该期刊的英文官方名称进行转换。

4. 转换中文出版地和出版社为英文。

可以直接将中文出版地和出版社名称翻译为英文,或者寻找对应的英文出版地和出版社名称。

5. 根据期刊的引用格式要求,转换中文文献的引用信息为英文。

这包括文章的页码、卷号、期号等信息。

对于已有的中文参考文献,转换为英文参考文献后应该包括以下信息:
- 作者的英文姓名
- 文章的英文标题
- 期刊的英文名称
- 文章的年份
- 文章的页码
- 期刊的卷号和期号
- 出版地和出版社的英文名称
最后,确保转换后的英文参考文献格式符合所使用的引用格式要求,如APA、MLA等。

【计算机专业文献翻译】SQL 查询中的语意错误

【计算机专业文献翻译】SQL 查询中的语意错误

SQL 查询中的语意错误: 非常完全的介绍列表作者:Institut fur Informatik, Martin-Luther-Universitat Halle-Wittenberg,出自德国Seckendorff-Platz 1 和 D-06099 Halle(Saale)摘要我们调查一类在语法上正确的SQL查询,当然不是故意的调查查询的执行任务,举个例子,当我们输入一个不合理的查询时候,返回的结果总是一个空集,很显然这个不是有意的,然而,当前的数据库系统执行这个查询时候根本没有任何报警,这篇文章中,我们给出足够多的有很多明显语义错误查询条件子集,当然,这些例子错误一般情况下是不能判别的,但是一个SQL查询子集能检查到这些错误。

我们相信在不久的将来的数据库管理系统能检查出上面叙述的这些错误且它发出的错误警报能帮助开发应用软件项目。

关键字:数据库;SQL;查询;语义错误;逻辑错误;软件正确性;静态分析;数据库课程;SQL 例子1.简介当今sql语言是面向对象和关系数据库的标准语言。

应用软件项目很明显包含了大量相关的sql查询和更新,这些都被传递给数据库管理系统执行。

像一些程序代码sql查询包含了一些错误(这篇文章中没有考虑更新问题,但是更新在很大程度上和查询类似的)。

sql查询错误归纳为语义错误和语法错误。

语法错误就是输入的字符串不是一个合法的sql语句。

因为一些数据库管理系统不能执行查询语句,所以它会打印出一些错误信息。

当然,这些错误是很容易被发觉被更正的。

语义错误就是当一个合法的sql查询语句被输入时,但是查询不能或总不是返回预期的结果,所以当前的查询任务不正确。

查询执行任务必须清晰明了才能发现查询不正确,所以语义错误更应该深刻理解它实质,不管执行什么任务,一定要有足够多的例子证明查询是不正确的。

这篇文章我们关注的部分还在后面,查询目标经常都不受约束。

举个例子,考虑下面这个查询:SELECT *FROM EMPWHERE JOB='CLERK' AND JOB='MANAGER'这是一个合法的查询语句,假如在Oracle 9i、DB2 V8.1上执行此语句,没有任何错误警报。

【计算机专业文献翻译】优调SQL过程

【计算机专业文献翻译】优调SQL过程

外文资料译文及原文院(系):计算机学院专业:计算机科学与技术班级:2401102学号:20023011059姓名:指导教师:2005年6月简介有关如何调优数据库系统和应用程序的好的建议的来源有很多。

比如OLTP 应用程序的DB2调优技巧(以前在IBM® DB2® 开发者园地上发表)之类的文章通过使用事务和数据并行性以及分析查询方案,给出了从表空间和索引设计到缓冲池的内存分配等方面的建议。

这些方面的内容是性能调优的基础知识。

但是,有关如何组织存储过程自身中的逻辑并着眼于其性能的专门建议却并不多见。

本文就提供了这样一种建议。

尽管本文着重于介绍 SQL 过程,但是这里所提供的大多数信息同样适用于用其它语言编写的在应用程序中或存储过程中嵌入的 SQL 逻辑。

背景知识和术语在深入研究详细问题之前,让我们先想想DB2 中有关过程化 SQL 的一些基本术语和概念。

过程化 SQL 构造(例如标量变量、IF 语句和 WHILE 循环)是在DB2 Universal Database™ (UDB) V7 发行版中引入 DB2 的。

以前的 DB2 发行版支持 C 和Java™ 作为存储过程的语言。

V7 引入了 SQL 存储过程,以及其它许多可以促进 OLTP 应用程序开发的特性(例如临时表、应用程序保存点和标识列)。

当创建 SQL 过程时,DB2 将过程主体中的 SQL 查询与过程逻辑区分开来。

为了使性能最优,SQL 查询被静态地编译成包中的节。

(对于静态编译的查询而言,节主要是由 DB2 优化器为该查询选择的存取方案构成的。

包是节的集合。

在过程的执行期间,每当控制从过程逻辑流向 SQL 语句时,在 DLL 和 DB2 引擎之间就存在“上下文切换”。

(在 DB2 V8 中,SQL 过程是在“不受保护的方式”下运行的,即与 DB2 引擎在相同的寻址空间中。

因此我们这里谈及的上下文切换并不是操作系统级别上的完全的上下文切换,而是指 DB2 中层的更换。

五分钟搞定5000字-外文文献翻译

五分钟搞定5000字-外文文献翻译

五分钟搞定5000字-外文文献翻译在科研过程中阅读翻译外文文献是一个非常重要的环节,许多领域高水平的文献都是外文文献,借鉴一些外文文献翻译的经验是非常必要的。

由于特殊原因我翻译外文文献的机会比较多,慢慢地就发现了外文文献翻译过程中的三大利器:Google“翻译”频道、金山词霸(完整版本)和CNKI“翻译助手"。

具体操作过程如下:1.先打开金山词霸自动取词功能,然后阅读文献;2.遇到无法理解的长句时,可以交给Google处理,处理后的结果猛一看,不堪入目,可是经过大脑的再处理后句子的意思基本就明了了;3.如果通过Google仍然无法理解,感觉就是不同,那肯定是对其中某个“常用单词”理解有误,因为某些单词看似很简单,但是在文献中有特殊的意思,这时就可以通过CNKI的“翻译助手”来查询相关单词的意思,由于CNKI的单词意思都是来源与大量的文献,所以它的吻合率很高。

另外,在翻译过程中最好以“段落”或者“长句”作为翻译的基本单位,这样才不会造成“只见树木,不见森林”的误导。

注:1、Google翻译:/language_tools google,众所周知,谷歌里面的英文文献和资料还算是比较详实的。

我利用它是这样的。

一方面可以用它查询英文论文,当然这方面的帖子很多,大家可以搜索,在此不赘述。

回到我自己说的翻译上来。

下面给大家举个例子来说明如何用吧比如说“电磁感应透明效应”这个词汇你不知道他怎么翻译,首先你可以在CNKI里查中文的,根据它们的关键词中英文对照来做,一般比较准确。

在此主要是说在google里怎么知道这个翻译意思。

大家应该都有词典吧,按中国人的办法,把一个一个词分着查出来,敲到google里,你的这种翻译一般不太准,当然你需要验证是否准确了,这下看着吧,把你的那支离破碎的翻译在google里搜索,你能看到许多相关的文献或资料,大家都不是笨蛋,看看,也就能找到最精确的翻译了,纯西式的!我就是这么用的。

八大英文文献翻译神器

八大英文文献翻译神器

你值得拥有的八大英文文献翻译神器不管是做科研还是写SCI论文,开始都需要阅读大量的文献,做课题至少查阅600篇,粗看300篇,细看100篇,研读50篇,在看到一叠叠论文后,由于语言问题,往往会觉得无从下手,下面分享几款常用的文献翻译神器。

1、谷歌浏览器翻译优点:页面简洁,使用方便,随开随用,多种语言随时切换,只要有网就能翻译。

缺点:功能比较单一,排版比较乱,界面不是很美观。

2、SCI Translate9.0目前有9.0普通版以及VIP版,VIP版内置Google 人工智能云翻译引擎,翻译精准度很强;没有广告。

3、LinggleLinggle是一个可用来进行英语语法、句子写作的工具,可为学习者提供更准确的英文写作建议。

4、NetSpeakNetSpeak是一个提供免费线上单词、词组、语句翻译的工具,其特点是可以在线搜索和比较各种英文词汇、短句、语法、单词解释等内容,并且可以统计出这个用语的变化形态,还可以分析使用频率和情境,堪比谷歌翻译。

5、CNKI翻译CNKI翻译助手是一款专业的学术翻译工具,由“中国知网”开发制作,汇集了从CNKI系列数据库中挖掘的大量常用词汇、专业术语、成语俚语及双语例句等,形成海量中英在线词典和双语平行语料库。

6、LingoesLingoes是一款简明易用的词典与文本翻译软件,支持全球超过80多种语言的词典查询、全文翻译、屏幕取词、划词翻译、例句搜索、网络释义和真人语音朗读功能。

7、有道词典有道词典是个神器,尤其是查词、划词、取词的方面特别突出,词库中有所有专业用语的补充包,可以让你瞬间翻译出各种专业的英文单词,从复杂的有机化合物,到稀奇古怪的动物名,哪里不会点哪里。

8、Copy Translator比较适用于即时翻译,内置了谷歌翻译、百度翻译、有道翻译、搜狗翻译、彩云翻译和腾讯翻译几种不同的翻译引擎,随意切换,总有一个适合你。

软件工程专业毕业设计外文文献翻译

软件工程专业毕业设计外文文献翻译

软件工程专业毕业设计外文文献翻译1000字本文将就软件工程专业毕业设计的外文文献进行翻译,能够为相关考生提供一定的参考。

外文文献1: Software Engineering Practices in Industry: A Case StudyAbstractThis paper reports a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The study investigated the company’s software development process, practices, and techniques that lead to the production of quality software. The software engineering practices were identified through a survey questionnaire and a series of interviews with the company’s software development managers, software engineers, and testers. The research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company follows a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The findings of this study provide a valuable insight into the software engineering practices used in industry and can be used to guide software engineering education and practice in academia.IntroductionSoftware engineering is the discipline of designing, developing, testing, and maintaining software products. There are a number of software engineering practices that are used in industry to ensure that software products are of high quality, reliable, and maintainable. These practices include software development processes, software configuration management, software testing, requirements engineering, and project management. Software engineeringpractices have evolved over the years as a result of the growth of the software industry and the increasing demands for high-quality software products. The software industry has developed a number of software development models, such as the Capability Maturity Model Integration (CMMI), which provides a framework for software development organizations to improve their software development processes and practices.This paper reports a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The objective of the study was to identify the software engineering practices used by the company and to investigate how these practices contribute to the production of quality software.Research MethodologyThe case study was conducted with a large US software development company that produces software for aerospace and medical applications. The study was conducted over a period of six months, during which a survey questionnaire was administered to the company’s software development managers, software engineers, and testers. In addition, a series of interviews were conducted with the company’s software development managers, software engineers, and testers to gain a deeper understanding of the software engineering practices used by the company. The survey questionnaire and the interview questions were designed to investigate the software engineering practices used by the company in relation to software development processes, software configuration management, software testing, requirements engineering, and project management.FindingsThe research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company’s software development process consists of five levels of maturity, starting with an ad hoc process (Level 1) and progressing to a fully defined and optimized process (Level 5). The company has achieved Level 3 maturity in its software development process. The company follows a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The software engineering practices used by the company include:Software Configuration Management (SCM): The company uses SCM tools to manage software code, documentation, and other artifacts. The company follows a branching and merging strategy to manage changes to the software code.Software Testing: The company has adopted a formal testing approach that includes unit testing, integration testing, system testing, and acceptance testing. The testing process is automated where possible, and the company uses a range of testing tools.Requirements Engineering: The company has a well-defined requirements engineering process, which includes requirements capture, analysis, specification, and validation. The company uses a range of tools, including use case modeling, to capture and analyze requirements.Project Management: The company has a well-defined project management process that includes project planning, scheduling, monitoring, and control. The company uses a range of tools to support project management, including project management software, which is used to track project progress.ConclusionThis paper has reported a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The study investigated the company’s software development process,practices, and techniques that lead to the production of quality software. The research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company uses a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The findings of this study provide a valuable insight into the software engineering practices used in industry and can be used to guide software engineering education and practice in academia.外文文献2: Agile Software Development: Principles, Patterns, and PracticesAbstractAgile software development is a set of values, principles, and practices for developing software. The Agile Manifesto represents the values and principles of the agile approach. The manifesto emphasizes the importance of individuals and interactions, working software, customer collaboration, and responding to change. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases. This paper presents an overview of agile software development, including its principles, patterns, and practices. The paper also discusses the benefits and challenges of agile software development.IntroductionAgile software development is a set of values, principles, and practices for developing software. Agile software development is based on the Agile Manifesto, which represents the values and principles of the agile approach. The manifesto emphasizes the importance of individuals and interactions, working software, customer collaboration, and responding to change. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases.Agile Software Development PrinciplesAgile software development is based on a set of principles. These principles are:Customer satisfaction through early and continuous delivery of useful software.Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.Deliver working software frequently, with a preference for the shorter timescale.Collaboration between the business stakeholders and developers throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity – the art of maximizing the amount of work not done – is essential.The best architectures, requirements, and designs emerge from self-organizing teams.Agile Software Development PatternsAgile software development patterns are reusable solutions to common software development problems. The following are some typical agile software development patterns:The Single Responsibility Principle (SRP)The Open/Closed Principle (OCP)The Liskov Substitution Principle (LSP)The Dependency Inversion Principle (DIP)The Interface Segregation Principle (ISP)The Model-View-Controller (MVC) PatternThe Observer PatternThe Strategy PatternThe Factory Method PatternAgile Software Development PracticesAgile software development practices are a set ofactivities and techniques used in agile software development. The following are some typical agile software development practices:Iterative DevelopmentTest-Driven Development (TDD)Continuous IntegrationRefactoringPair ProgrammingAgile Software Development Benefits and ChallengesAgile software development has many benefits, including:Increased customer satisfactionIncreased qualityIncreased productivityIncreased flexibilityIncreased visibilityReduced riskAgile software development also has some challenges, including:Requires discipline and trainingRequires an experienced teamRequires good communicationRequires a supportive management cultureConclusionAgile software development is a set of values, principles, and practices for developing software. Agile software development is based on the Agile Manifesto, which represents the values and principles of the agile approach. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases. Agile software development has many benefits, including increased customer satisfaction, increased quality, increased productivity, increased flexibility, increased visibility, and reduced risk. Agile software development also has some challenges, including the requirement for discipline and training, the requirement for an experienced team, the requirement for good communication, and the requirement for a supportive management culture.。

SQL数据库外文翻译

SQL数据库外文翻译

Working with DatabasesThis chapter describes how to use SQL statements in embedded applications to control databases. There are three database statements that set up and open databases for access: SET DATABASE declares a database handle, associates the handle with an actual database file, and optionally assigns operational parameters for the database.SET NAMES optionally specifies the character set a client application uses for CHAR, VARCHAR, and text Blob data. The server uses this information totransli terate from a database’s default character set to the client’s character set on SELECT operations, and to transliterate from a client application’s character set to the database character set on INSERT and UPDATE operations.g CONNECT opens a database, allocates system resources for it, and optionally assigns operational parameters for the database.All databases must be closed before a program ends. A database can be closed by using DISCONNECT, or by appending the RELEASE option to the final COMMIT or ROLLBACK in a program. Declaring a databaseBefore a database can be opened and used in a program, it must first be declared with SET DATABASE to:CHAPTER 3 WORKING WITH DATABASES. Establish a database handle. Associate the database handle with a database file stored on a local or remote node.A database handle is a unique, abbreviated alias for an actual database name. Database handles are used in subsequent CONNECT, COMMIT RELEASE, and ROLLBACK RELEASE statements to specify which databases they should affect. Except in dynamic SQL (DSQL) applications, database handles can also be used inside transaction blocks to qualify, or differentiate, table names when two or more open databases contain identically named tables.Each database handle must be unique among all variables used in a program. Database handles cannot duplicate host-language reserved words, and cannot be InterBase reserved words.The following statement illustrates a simple database declaration:EXEC SQLSET DATABASE DB1 = ’employee.gdb’;This database declaration identifies the database file, employee.gdb, as a database the program uses, and assigns the database a handle, or alias, DB1.If a program runs in a directory different from the directory that contains the database file, then the file name specification in SET DATABASE must include a full path name, too. For example, the following SET DATABASE declaration specifies the full path to employee.gdb:EXEC SQLSET DATABASE DB1 = ’/interbase/examples/employee.gdb’;If a program and a database file it uses reside on different hosts, then the file name specification must also include a host name. The following declaration illustrates how a Unix host name is included as part of the database file specification on a TCP/IP network:EXEC SQLSET DATABASE DB1 = ’jupiter:/usr/interbase/examples/employee.gdb’;On a Windows network that uses the Netbeui protocol, specify the path as follows: EXEC SQLSET DATABASE DB1 = ’//venus/C:/Interbase/examples/employee.gdb’; DECLARING A DATABASEEMBEDDED SQL GUIDE 37Declaring multiple databasesAn SQL program, but not a DSQL program, can access multiple databases at the same time. In multi-database programs, database handles are required. A handle is used to:1. Reference individual databases in a multi-database transaction.2. Qualify table names.3. Specify databases to open in CONNECT statements.Indicate databases to close with DISCONNECT, COMMIT RELEASE, and ROLLBACK RELEASE.DSQL programs can access only a single database at a time, so database handle use is restricted to connecting to and disconnecting from a database.In multi-database programs, each database must be declared in a separate SET DATABASE statement. For example, the following code contains two SET DATABASE statements:. . .EXEC SQLSET DATABASE DB2 = ’employee2.gdb’;EXEC SQLSET DATABASE DB1 = ’employee.gdb’;. . .4Using handles for table namesWhen the same table name occurs in more than one simultaneously accessed database, a database handle must be used to differentiate one table name from another. The database handle is used as a prefix to table names, and takes the formhandle.table.For example, in the following code, the database handles, TEST and EMP, are used to distinguish between two tables, each named EMPLOYEE:. . .EXEC SQLDECLARE IDMATCH CURSOR FORSELECT TESTNO INTO :matchid FROM TEST.EMPLOYEEWHERE TESTNO > 100;EXEC SQLDECLARE EIDMATCH CURSOR FORSELECT EMPNO INTO :empid FROM EMP.EMPLOYEEWHERE EMPNO = :matchid;. . .CHAPTER 3 WORKING WITH DATABASES38 INTERBASE 6IMPORTANTThis use of database handles applies only to embedded SQL applications. DSQL applications cannot access multiple databases simultaneously.4Using handles with operationsIn multi-database programs, database handles must be specified in CONNECT statements to identify which databases among several to open and prepare for use in subsequent transactions.Database handles can also be used with DISCONNECT, COMMIT RELEASE, and ROLLBACKRELEASE to specify a subset of open databases to close.To open and prepare a database w ith CONNECT, see “Opening a database” on page 41.To close a database with DISCONNECT, COMMIT RELEASE, or ROLLBACK RELEASE, see“Closing a database” on page 49. To learn more about using database handles in transactions, see “Accessing an open database” on p age 48.Preprocessing and run time databasesNormally, each SET DATABASE statement specifies a single database file to associate with a handle. When a program is preprocessed, gpre uses the specified file to validate the program’s table and column referenc es. Later, when a user runs the program, the same database file is accessed. Different databases can be specified for preprocessing and run time when necessary.4Using the COMPILETIME clause A program can be designed to run against any one of several identically structured databases. In other cases, the actual database that a program will use at runtime is not available when a program is preprocessed and compiled. In such cases, SET DATABASE can include a COMPILETIME clause to specify a database for gpre to test against during preprocessing. For example, the following SET DATABASE statement declares that employee.gdb is to be used by gpre during preprocessing: EXEC SQLSET DATABASE EMP = COMPILETIME ’employee.gdb’;IMPORTANTThe file specification that follows the COMPILETIME keyword must always be a hard-coded, quoted string.DECLARING A DATABASEEMBEDDED SQL GUIDE 39When SET DATABASE uses the COMPILETIME clause, but no RUNTIME clause, and does not specify a different database file specification in a subsequent CONNECT statement, the same database file is used both for preprocessing and run time. To specify different preprocessing and runtime databases with SET DATABASE, use both the COMPILETIME andRUNTIME clauses.4Using the RUNTIME clauseWhen a database file is specified for use during preprocessing, SET DATABASE can specify a different database to use at run time by including the RUNTIME keyword and a runtime file specification:EXEC SQLSET DATABASE EMP = COMPILETIME ’employee.gdb’RUNTIME ’employee2.gdb’;The file specification that follows the RUNTIME keyword can be either ahard-coded, quoted string, or a host-language variable. For example, the following C code fragment prompts the user for a database name, and stores the name in a variable that is used later in SET DATABASE:. . .char db_name[125];. . .printf("Enter the desired database name, including node and path):\n");gets(db_name);EXEC SQLSET DATABASE EMP = COMPILETIME ’employee.gdb’ RUNTIME : db_name; . . .Note host-language variables in SET DATABASE must be preceded, as always, by a colon.Controlling SET DATABASE scopeBy default, SET DATABASE creates a handle that is global to all modules in an application.A global handle is one that may be referenced in all host-language modules comprising the program. SET DATABASE provides two optional keywords to change the scope of a declaration:g STATIC limits declaration scope to the module containing the SET DATABASE statement. No other program modules can see or use a database handle declared STATIC.CHAPTER 3 WORKING WITH DATABASES40 INTERBASE 6EXTERN notifies gpre that a SET DATABASE statement in a module duplicates a globally-declared database in another module. If the EXTERN keyword is used, then another module must contain the actual SET DATABASE statement, or an error occurs during compilation.The STATIC keyword is used in a multi-module program to restrict database handle access to the single module where it is declared. The following example illustrates the use of theSTATIC keyword:EXEC SQLSET DATABASE EMP = STATIC ’employee.gdb’;The EXTERN keyword is used in a multi-module program to signal that SET DATABASE in one module is not an actual declaration, but refers to a declaration made in a different module. Gpre uses this information during preprocessing. The following example illustrates the use of the EXTERN keyword:EXEC SQLSET DATABASE EMP = EXTERN ’employee.gdb’;If an application contains an EXTERN reference, then when it is used at run time, the actual SET DATABASE declaration must be processed first, and the database connected before other modules can access it.A single SET DATABASE statement can contain either the STATIC or EXTERN keyword, but not both. A scope declaration in SET DATABASE applies to both COMPILETIME and RUNTIME databases.Specifying a connection character setWhen a client application connects to a database, it may have its own character set requirements. The server providing database access to the client does not know about these requirements unless the client specifies them. The client application specifies its character set requirement using the SET NAMES statement before it connects to the database.SET NAMES specifies the character set the server should use when translating data from the database to the client application. Similarly, when the client sends data to the database, the server translates the data from the client’s character set to the database’s default character set (or the character set for an individual column if it differs from the databas e’s default character set). For example, the following statements specify that the client is using the DOS437 character set, then connect to the database:EXEC SQLOPENING A DATABASEEMBEDDED SQL GUIDE 41SET NAMES DOS437;EXEC SQLCONNECT ’europe.gdb’ USER ’JAMES’ PASSWORD ’U4EEAH’;For more information about character sets, see the Data Definition Guide. For the complete syntax of SET NAMES and CONNECT, see the Language Reference. Opening a databaseAfter a database is declared, it must be attached with a CONNECT statement before it can be used. CONNECT:1. Allocates system resources for the database.2. Determines if the database file is local, residing on the same host where the application itself is running, or remote, residing on a different host.3. Opens the database and examines it to make sure it is valid.InterBase provides transparent access to all databases, whether local or remote. If the database structure is invalid, the on-disk structure (ODS) number does not correspond to the one required by InterBase, or if the database is corrupt, InterBase reports an error, and permits no further access. Optionally, CONNECT can be used to specify:4. A user name and password combination that is checked against the server’s security database before allowing the connect to succeed. User names can be up to 31 characters.Passwords are restricted to 8 characters.5. An SQL role name that the user adopts on connection to the database, provided that the user has previously been granted membership in the role. Regardless of role memberships granted, the user belongs to no role unless specified with this ROLE clause.The client can specify at most one role per connection, and cannot switch roles except by reconnecting.6. The size of the database buffer cache to allocate to the application when the default cache size is inappropriate.Using simple CONNECT statementsIn its simplest form, CONNECT requires one or more database parameters, each specifying the name of a database to open. The name of the database can be a: Database handle declared in a previous SET DATABASE statement.CHAPTER 3 WORKING WITH DATABASES42 INTERBASE 61. Host-language variable.2. Hard-coded file name.4Using a database handleIf a program uses SET DATABASE to provide database handles, those handles should be used in subsequent CONNECT statements instead of hard-coded names. For example,. . .EXEC SQLSET DATABASE DB1 = ’employee.gdb’;EXEC SQLSET DATABASE DB2 = ’employee2.gdb’;EXEC SQLCONNECT DB1;EXEC SQLCONNECT DB2;. . .There are several advantages to using a database handle with CONNECT:1. Long file specifications can be replaced by shorter, mnemonic handles.2. Handles can be used to qualify table names in multi-database transactions. DSQL applications do not support multi-database transactions.3. Handles can be reassigned to other databases as needed.4. The number of database cache buffers can be specified as an additional CONNECT parameter.For more information about setting the number of database cache buffers, see “Setting d atabase cache buffers” on page 47. 4Using strings or host-language variables Instead of using a database handle, CONNECT can use a database name supplied at run time. The database name can be supplied as either a host-language variable or a hard-coded, quoted string.The following C code demonstrates how a program accessing only a single database might implement CONNECT using a file name solicited from a user at run time:. . .char fname[125];. . .printf(’Enter the desired database name, including nodeand path):\n’);OPENING A DATABASEEMBEDDED SQL GUIDE 43gets(fname);. . .EXEC SQLCONNECT :fname;. . .TipThis technique is especially useful for programs that are designed to work with many identically structured databases, one at a time, such as CAD/CAM or architectural databases.MULTIPLE DATABASE IMPLEMENTATIONTo use a database specified by the user as a host-language variable in a CONNECT statement in multi-database programs, follow these steps:1. Declare a database handle using the following SET DATABASE syntax:EXEC SQLSET DATABASE handle = COMPILETIME ’ dbname’;Here, handle is a hard-coded database handle supplied by the programmer, dbnameis a quoted, hard-coded database name used by gpre during preprocessing.2. Prompt the user for a database to open.3. Store the database name entered by the user in a host-language variable.4. Use the handle to open the database, associating the host-language variable with the handle using the following CONNECT syntax:EXEC SQLCONNECT : variable AS handle;The following C code illustrates these steps:. . .char fname[125];. . .EXEC SQLSET DATABASE DB1 = ’employee.gdb’;printf("Enter the desired database name, including nodeand path):\n");gets(fname);EXEC SQLCONNECT :fname AS DB1;. . .CHAPTER 3 WORKING WITH DATABASES44 INTERBASE 6In this example, SET DATABASE provides a hard-coded database file name for preprocessing with gpre. When a user runs the program, the database specified in the variable, fname, is used instead. 4Using a hard-coded database namesIN SINGE-DATABASE PROGRAMSIn a single-database program that omits SET DATABASE, CONNECT must contain a hard-coded, quoted file name in the following format:EXEC SQLCONNECT ’[ host[ path]] filename’; host is required only if a program and a dat abase file it uses reside on different nodes.Similarly, path is required only if the database file does not reside in the current working directory. For example, the following CONNECT statement contains ahard-coded file name that includes both a Unix host name and a path name:EXEC SQLCONNECT ’valdez:usr/interbase/examples/employee.gdb’;Note Host syntax is specific to each server platform.IMPORTANT A program that accesses multiple databases cannot use this form of CONNECT.IN MULTI-DATABASE PROGRAMSA program that accesses multiple databases must declare handles for each of them in separate SET DATABASE statements. These handles must be used in subsequent CONNECT statements to identify specific databases to open:. . .EXEC SQLSET DATABASE DB1 = ’employee.gdb’;EXEC SQLSET DATABASE DB2 = ’employee2.gdb’;EXEC SQLCONNECT DB1;EXEC SQLCONNECT DB2;. . .Later, when the program closes these databases, the database handles are no longer in use. These handles can be reassigned to other databases by hard-coding a file name in a subsequent CONNECT statement. For example,OPENING A DATABASEEMBEDDED SQL GUIDE 45. . .EXEC SQLDISCONNECT DB1, DB2;EXEC SQLCONNECT ’project.gdb’ AS DB1;. . .Additional CONNECT syntaxCONNECT supports several formats for opening databases to provide programming flexibility. The following table outlines each possible syntax, provides descriptions and examples, and indicates whether CONNECT can be used in programs that access single or multiple databases:For a complete discussion of CONNECT syntax and its uses, see the Language Reference.Syntax Description ExampleSingle accessMultiple accessCONNECT ‘dbfile’; Opens a single, hard-coded database file, dbfile.EXEC SQLCONNECT ‘employee.gdb’;Yes NoCONNECT handle; Opens the database file associated with a previously declared database handle. This is the preferred CONNECT syntax.EXEC SQLCONNECT EMP;Yes YesCONNECT ‘dbfile’ AS handle;Opens a hard-coded database file, dbfile, and assigns a previously declared database handle to it.EXEC SQLCONNECT ‘employee.gdb’AS EMP;Yes Yes CONNECT :varname AS handle;Opens the database file stored in the host-language variable, varname, and assigns a previously declared database handle to it.EXEC SQL CONNECT :fname AS EMP;Yes YesTABLE 3.1 CONNECT syntax summaryCHAPTER 3 WORKING WITH DATABASES46 INTERBASE 6Attaching to multiple databasesCONNECT can attach to multiple databases. To open all databases specified in previous SETDATABASE statements, use either of the following CONNECT syntax options: EXEC SQLCONNECT ALL;EXEC SQLCONNECT DEFAULT;CONNECT can also attach to a specified list of databases. Separate each database request from others with commas. For example, the following statement opens two databases specified by their handles:EXEC SQLCONNECT DB1, DB2;The next statement opens two hard-coded database files and also assigns them to previously declared handles:EXEC SQLCONNECT ’employee.gdb’ AS DB1, ’employee2.gdb’ AS DB2;Tip Opening multiple databases with a single CONNECT is most effective when a program’s database access is simple and clear. In complex programs that open and close several databases, that substitute database names with host-language variables, or that assign multiple handles to the same database, use separate CONNECT statements to make program code easier to read, debug, and modify.Handling CONNECT errors. The WHENEVER statement should be used to trap and handle runtime errors that occur during database declaration. The following C code fragment illustrates an error-handling routine that displays error messages and ends the program in an orderly fashion:. . .EXEC SQLWHENEVER SQLERRORGOTO error_exit;. . .OPENING A DATABASEEMBEDDED SQL GUIDE 47:error_exitisc_print_sqlerr(sqlcode, status_vector);EXEC SQLDISCONNECT ALL;exit(1);. . .For a complete discussion of SQL error handling, see Chapter 12, “Error Handling and Recovery.”数据库的工作这章描述怎样使用在嵌入式应用过程中的SQL语句控制数据库。

英文文献及翻译(计算机专业)

英文文献及翻译(计算机专业)

英文文献及翻译(计算机专业)The increasing complexity of design resources in a net-based collaborative XXX common systems。

design resources can be organized in n with design activities。

A task is formed by a set of activities and resources linked by logical ns。

XXX managementof all design resources and activities via a Task Management System (TMS)。

which is designed to break down tasks and assign resources to task nodes。

This XXX。

2 Task Management System (TMS)TMS is a system designed to manage the tasks and resources involved in a design project。

It poses tasks into smaller subtasks。

XXX management of all design resources and activities。

TMS assigns resources to task nodes。

XXX。

3 Collaborative DesignCollaborative design is a process that XXX a common goal。

In a net-based collaborative design environment。

n XXX n for all design resources and activities。

数据库安全文献翻译

数据库安全文献翻译

英文译文数据库安全Paul MorrisonAmericaPART 1“为什么要确保数据库服务安全呢?任何人都不能访问-这是一个非军事区的保护防火墙”,当我们被建议使用一个带有安全检查机制的装置时,这是通常的反应。

事实上,在防护一个组织的信息方面,数据库的安全是至高无上的,因为它可能会间接接触比我们意识到的更广泛的用户。

这是两篇研究数据库安全文章中的第一篇。

在这篇文章中我们将讨论一般数据库安全概念和和比较普遍的问题。

在下篇文章,我们将把焦点放在特定的Microsoft SQL和Oracle的安全关注上。

近来数据库安全已成为一个热门话题。

随着越来越多的人关注计算机安全,我们发现,防火墙和网络服务器比以前都更加安全化了(虽然这并不等于说现在不再有许多不安全的网络存在)。

因此,重点是加大对技术的考虑力度,譬如以更细腻的审查态度对待数据库。

◆一般安全意识在我们讨论有关数据库安全问题之前,确保底层操作系统和支撑技术的安全是审慎而且必要的。

如果一个vanilla操作系统无法为数据库提供一个稳妥可靠的安全基础,花费太多努力去确保数据库安全是不值得的。

当安装操作系统时,有许多好的文献资料可以参考。

经常遇到的一个普遍问题,就是作为网络服务器托管Internet(or Intranet)的同一服务器上数据库的应用。

虽然这可能节省的购买一个单独的服务器费用,但这严重影响了安全问题。

如果这是确定的,当数据库开放地连接到互联网这种情况被证实了。

最近的一个例子,我记得是一个Apache网络服务器系统服务组织在互联网上提供的,与Oracle 数据库在互联网上提供有关端口1521。

在调查这个问题时进一步被发现,访问该Oracle 服务器是没有服务器加以制止之类的保护措施的(包括缺乏密码)。

从互联网发展前景看,这个数据库是不被推崇的,但默认设置的使用以及粗糙的安全措施,使服务器更加脆弱。

上面提到的问题并不是严格地数据库问题,还可以被归类为构建机制和防火墙保护问题,但最终它确是数据库,这是毫不妥协的。

【计算机专业文献翻译】SQL查询的安全性证明

【计算机专业文献翻译】SQL查询的安全性证明

Proving the Safety of SQL QueriesAbstract:Many programs need to access data in a relational database. This is usually done by means of queries written in SQL. Although the language SQL is declarative, certain runtime errors are possible. Since the occurrence of these errors depends on the data, they are not easily found during testing. The question whether a query is safe can be reduced to a consistency check. It is well known that consistency is in general undecidable, and that this applies also to SQL queries. However, in this paper, we propose a consistency check that can handle a surprisingly large subset of SQL (it uses Skolemizationwith sorted Skolem functions, and a few other tricks). This consistency check is also the basis for generating other semantic warnings. Furthermore, it can be used to generate test data for SQL queries.Keywords:SQL, Runtime Errors, Consistency.1. IntroductionProbably a large percentage of the software that is developed today uses data stored in a relational database. The database is normally accessed with statements in the language SQL, especially queries. Although is a declarative language, there are situations in which errors might occur at runtime that depend on the data.2. Possible Runtime Errors in SQLAs explained in the introduction, if the INTO-clause is used for storing the query result in program variables, the query must never return more than one row. Suppose the given query is:SELECT t1, . . ., tk INTO v1, . . ., vk FROM R1 X1, . . ., Rn Xn WHERE ϕIn order to make sure that there are never two solutions, we duplicate the tuple variables and check the following query for consistency. If it is consistent (including the constraints, see Section 3.3), a runtime error can occur, and the constructed model givesan example:SELECT * FROM R1 X1, ..., Rn Xn,R1 X_1 , ..., Rn X_n WHERE ϕ AND ϕ AND (X1= X_1 OR ···OR Xn _= X_n )The formula ϕ_ results from ϕ by replacing each Xi by X_i . We use Xi _= X_i as an abbreviation for requiring that the primary key values of the two tuple variables are different (we assume that primary keys are always NOT NULL). If one of the relations Ri has no declared key, it is always possible that there are several solutions(if the condition ϕ is consistent).If the given query uses “SELECT DISTINCT”, one needs to add a test that the result tuples differ:(t1 _= t_1 OR ···OR tk _= t_kOR t1 IS NULL AND t_1 IS NOT NULLOR t_1 IS NULL AND t1 IS NOT NULL. . .OR tk IS NULL AND t_k IS NOT NULLOR t_k IS NULL AND tk IS NOT NULL)The same problem can occur with conditions of the form A = (SELECT ...) inside a query: Whenever a subquery is used as scalar expression, it must not return multiple rows. If the subquery is non-correlated(i.e. does not access tuple variables from the outer query), we can use exactly the same test as above. If the query is correlated, it might not be completely clear what knowledge from the outer condition should be used (as usual for runtime errors, evaluation order becomes important here). In order to be safe, we propose to ignore the outer condition. Let the subquery have the form:SELECT t FROM R1 X1, . . ., Rn Xn WHERE ϕIf it accesses the tuple variables S1 Y1, . . ., Sm Ym from the outer query, we would require that the following query is inconsistent (after adding the constraints):SELECT * FROM R1 X1, ..., Rn Xn, R1 X_1 , ..., Rn X_n , S1 Y1, ..., Sm Ym WHERE ϕ AND ϕ_ AND (X1 _= X_1 OR ···OR Xn _= X_n )3. Inconsistent ConditionsIn this section, we present an algorithm for detecting inconsistent conditions in SQL queries. A trivial example of an inconsistent query isSELECT * FROM R WHERE A=1 AND A=2.Since the problem is in general undecidable, we can handle only a subset of all queries. However, our algorithm is reasonably powerful and can decide the consistency of surprisingly many queries.To be precise, consistency in databases means that there is a finite model, i.e. a relational database state(sometimes called a database instance), such that the query result is not empty.In this paper, we assume that the given SQL query contains no data type operations, i.e. all atomic formulas are of the form t1 θt2 where θis a comparison operator (=, <>, <, <=, >, >=), and t1, t2 are attributes (possibly qualified with a tuple variable) or constants (literals). Null values and IS NULL are treated in Section 3.5, before that, they are excluded. Aggregations and LIKE-conditions are not treated in this paper, they are subject of our future research.3.1. Conditions Without SubqueriesIf the query contains no subqueries, the consistency can be decided with methods known in the literature, especially the algorithms of Guo, Sun and Weiss [8].The condition then consists of the above atomic formulas connected with AND, OR, NOT. We first push negation down to the atomic formulas, where it simply “turns around” the comparison operator. In t his way, NOT is eliminated from the formula. Then, we translate the formula in disjunctive normal form: ϕ1 ∨···∨on is consistent if at least one of the it is consistent. Now a conjunction of the above atomic formulas can be tested for satisfiability with the method of [8]. They basically create a directed graph in which nodes are labeled with “Tuplevariable.Attribute” (maybe a representative for an equivalence class with respect to =) and edges are labeled with < or ≤. Then they compute an interval of possible values for each node. Note that SQL data types likeNUMERIC(1) also restrict the interval of possible values.Unfortunately, if there is only a finite number of values that can be assigned to nodes, inequality conditions (t1 <> t2) between the nodes become important and can encode graph-coloring problems. Therefore, we cannot expect an efficient algorithm if there are many <>- conditions. Otherwise, the method of [8] is fast. (However, the DNF transformation that we apply before [8] can lead to an exponential increase in size.)3.2.Integrity ConstraintsThe above algorithm constructs just any model of the query, not necessarily a database state that satisfies all constraints. However, it is easy to add conditions to the query that ensure that all constraints are satisfied. For instance, consider this constraint on GRADES:CHECK(POINTS >= 0)Then the following condition would be added to each query that references GRADES:AND NOT EXISTS (SELECT * FROM GRADES WHERE NOT(POINTS >= 0)) The original query is consistent relative to the constraints if this extended query is consistent. Note that pure “for all” constraints like keys or CHECK-constraints do not need nested subqueries and thus never endanger the termination of the method. No new Skolem functions are constructed, the conditions are only instantiated for each existing Skolem term of the respective sort (relation). This is also what one would intuitively expect. Foreign keys, however, require the existence of certain tuples, and therefore might sometimes result in an infinite set TQ. This is subject of the next section.3.3 Restrictions and Possible SolutionsThe main restriction of our method is that the set TQ must be finite, i.e. no tuple variable over a relation R may depend directly or indirectly on a tuple variable over the same relation R. This is certainly satisfied if there is only a single level of subqueries.However, GRADES has a foreign key ENO that references EXERCISES. This can be enforced in models by adding the following condition to all queries:AND NOT EXISTS (SELECT * FROM GRADES C WHERE NOT EXISTS (SELECT * FROM EXERCISES P WHERE P.ENO = C.ENO))We now get a Skolem function fP : GRADES →EXERCISES. In itself this would be no problem, and actually there will never be a problem if the foreign keys are not cyclic and the query itself contains only a single level of NOT EXISTS. But in Example 1, the query introduces the Skolem function fG : EXERCISES →GRADES.Together we can now generate infinitely many terms: fE1, fG(fE1), fP(fG(fE1)), fG(fP(fG(fE1))), and so on. However, it is easy to prove that fP(fG(fE1)) = fE1: We know thatfG(fE1).ENO = fE1.ENO andfP(fG(fE1)).ENO = fG(fE1).ENO.Since ENO is key of EXERCISES, the two tuples must be the same, and thus a finite TQ suffices. One case that is not solved is cyclic (recursive) foreign keys. Because of the undecidability, this problem can in general not be eliminated. However, one could at least heuristically try to construct a model by assuming that, e.g., 2 tuples in the critical relation R suffice. Then TQ(R) would consist of two constants and one would replace each subquery declaring a tuple variable over R by a disjunction with these two constants. For relations not in the cycle, the original method could still be used. If the algorithm of Section 3.1 constructs a model, the query is of course consistent. If no model is found, the system can print a warning that it cannot verify the consistency. At user option, it would also be possible to repeat the step with more constants.4. Related WorkAs far as we know, there is not yet a tool for checking given SQL queries for semantic errors independently of example database states. There are a few papers about testing SQL queries, though (e.g. [13, 12]).Of course, for the problem of detecting inconsistent conditions, a large body of work exists in the literature. In general, all work in automated theorem proving can be applied (see, e.g., [4]). The problem whether there exists a contradiction in a conjunction of inequalities is very relevant for many database problems and has been intensively studiedin the literature. Klug’sclassic paper [10] checks for such inconsistencies but does not treat subqueries and assumes dense domains for the attributes. The algorithm in [9] can handle recursion, but only negations of EDB predicates, not generalNOT EXISTS subqueries. A very efficient method has been proposed by Guo, Sun, and Weiss [8]. We use it here as a subroutine. Our main contribution is the way we treat subqueries. Although this uses ideas known from Skolemization, the way we apply it combined with analgorithm like [8], apply the relations as sorts, and detect equal terms in the Herbrand universe seems new.We also can handle null values. Consistency checking in databases has also been applied for testing whether a setoff constraint is satisfiable. A classic paper about this problem is [3]. They give an algorithm which terminates if the constraints are finitely satisfiable or if they are unsatisfiable,which is the best one can do. However, the approach presented here can immediately tell whether it can handle the given query and constraints. Also in the field of description logics, decidable fragments of first order logic are used. Recently Minock [11] defined a logic that is more restricted than ours, but is closed under syntactic query difference.Consistency of database queries has also connections to semantic query optimization (see, e.g., [5]), and cooperative query answering (see, e.g., [7, 6]). However, in semantic query optimization, only relatively simple consistency checks can be used for efficiency reasons(optimization time must be amortized during later execution).In cooperative query answering, a database state is given: The system does not really notice that the query is inconsistent, only that it yields an empty answer in the current state. In both fields, the question for possible runtime errors is not asked.Test data generation as in [13] is also a form of consistency check, and both papers have overlapping goals But the concrete methods are quite different.5. ConclusionsQuality software must be reliable in the sense that it never generates runtime errors (exceptions). A check for the safety of SQL queries can be reduced to a consistency check.In this paper, we proposed a new method for checking the consistency of SQLqueries: We used a state-of-the-art algorithm for conjunctions of comparisons(=, _=, <, >, ≤, ≥) [8], and extended it by handling subqueries with an interesting variant of Skolemization,Skolemization,and null values/three-valued logic with operators “null-to-false” and “null-to-true”. The method can also be used to generate test data. Our overall goal is to develop a semantic checker for SQL queries [2].References:[1] Serge Ambitious, Richard Hull, and Victor Vianu. Foundations of Databases. Addison-Wesley, 1994.[2] Stefan Brass and Christian Goldberg. Semantic errors in SQL queries: A quite complete list. In Proc. of the Fourth Int. Conf. on Quality Software (QSIC’04), 250–257. IEEE Computer Society Press, 2004. Extended version to appear in Journal of Systems and Software.[3] Franc¸ois Bry and Rainer Manthey. Checking consistency of database constraints: a logical basis. In Proceedings of the 12th Int. Conf. on Very Large Data Bases (VLDB’86), 13–20. Morgan Kaufmann, 1986.[4] Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1973.[5] Qi Cheng, Jarek Gryz, Fred Koo, Cliff Leung, Linqi Liu, Xiaoyan Qian, and Bernhard Schiefer. Implementation of two semantic query optimization techniques in DB2 universal database. In Proc. of the 25th Int. Conf. on Very Large Data Bases (VLDB’99), 687–698, 1999.[6] Wesley W. Chu, Hua Yang, Kuorong Chiang, Michael Minock, Gladys Chow, and Chris Larson. CoBase: A scalable and extensible cooperative information system. Jour. of Intelligent Information Syst., 6:223–259, 1996.[7] Terry Gaasterland, Parke Godfrey, and Jack Minker. An overview of cooperative answering. Journal of Intelligent Information Systems, 1(2):123–157, 1992.[8] Sha Guo, Wei Sun, and Mark A. Weiss. Solving satis- fiability and implication problems in database systems. ACM Trans. on Database Systems, 21:270–293, 1996. [9] Alon Y. Halevy, Inderpal Singh Mumick, Yehoshua Sagiv, and Oded Shmueli. Static analysis in Datalog extensions. Journal of the ACM, 48:971–1012, 2001.。

数据库外文参考文献及翻译.

数据库外文参考文献及翻译.

数据库外文参考文献及翻译数据库外文参考文献及翻译数据库管理系统——实施数据完整性一个数据库,只有用户对它特别有信心的时候。

这就是为什么服务器必须实施数据完整性规则和商业政策的原因。

执行SQL Server的数据完整性的数据库本身,保证了复杂的业务政策得以遵循,以及强制性数据元素之间的关系得到遵守。

因为SQL Server的客户机/服务器体系结构允许你使用各种不同的前端应用程序去操纵和从服务器上呈现同样的数据,这把一切必要的完整性约束,安全权限,业务规则编码成每个应用,是非常繁琐的。

如果企业的所有政策都在前端应用程序中被编码,那么各种应用程序都将随着每一次业务的政策的改变而改变。

即使您试图把业务规则编码为每个客户端应用程序,其应用程序失常的危险性也将依然存在。

大多数应用程序都是不能完全信任的,只有当服务器可以作为最后仲裁者,并且服务器不能为一个很差的书面或恶意程序去破坏其完整性而提供一个后门。

SQL Server使用了先进的数据完整性功能,如存储过程,声明引用完整性(DRI),数据类型,限制,规则,默认和触发器来执行数据的完整性。

所有这些功能在数据库里都有各自的用途;通过这些完整性功能的结合,可以实现您的数据库的灵活性和易于管理,而且还安全。

声明数据完整性声明数据完整原文请找腾讯3249114六,维-论'文.网 定义一个表时指定构成的主键的列。

这就是所谓的主键约束。

SQL Server使用主键约束以保证所有值的唯一性在指定的列从未侵犯。

通过确保这个表有一个主键来实现这个表的实体完整性。

有时,在一个表中一个以上的列(或列的组合)可以唯一标志一行,例如,雇员表可能有员工编号( emp_id )列和社会安全号码( soc_sec_num )列,两者的值都被认为是唯一的。

这种列经常被称为替代键或候选键。

这些项也必须是唯一的。

虽然一个表只能有一个主键,但是它可以有多个候选键。

SQL Server的支持多个候选键概念进入唯一性约束。

将中文参考文献转化为英文的方法

将中文参考文献转化为英文的方法

将中文参考文献转化为英文的方法
将中文参考文献转化为英文的方法主要有以下几种途径:
1. 在线翻译工具:使用在线翻译工具将中文参考文献逐句翻译成英文。

常用的在线翻译工具有谷歌翻译、百度翻译等。

但需要注意的是,由于机器翻译的准确度有限,可能需要进一步修改和调整翻译结果。

2. 专业翻译人员:请专业的翻译人员翻译整篇参考文献。

翻译人员熟悉中英文语言和学术术语,能够提供更准确和流畅的翻译。

3. 查找英文文献:如果中文参考文献对应的英文文献存在,可以直接引用英文文献。

在学术数据库或搜索引擎中搜索相关的英文文献,找到对应的英文版文献进行引用。

无论哪种方法,都需要对翻译结果进行适当的修改和校对,以确保翻译的准确性和语言流畅性。

此外,对于重要的参考文献,最好能够请专业人士或熟悉英文写作的同行进行校对,以确保翻译的质量和准确性。

sql参考文献

sql参考文献

SQL数据库期刊类参考文献:全面学习SQL数据库知识的必备指南随着互联网和大数据时代的到来,数据库管理系统成为了整个信息技术领域中最为重要的核心技术之一。

而在数据库管理系统中,SQL数据库则是最为广泛使用的一种类型。

SQL数据库不仅可以方便地存储和管理各种数据,还可以通过各种数据操作方式,将数据快速地转换为有效的信息。

从而大大提高了数据处理的效率和精确度,成为了现代数据处理的重要基石。

SQL数据库在实际运用中,具有广泛的应用领域。

不仅是互联网公司、金融领域、制造业和交通运输等传统领域,SQL数据库也逐渐应用到了医疗健康、能源、教育等多个行业中。

因此,熟练掌握SQL数据库,对于现代信息技术工作者来说无疑是一项基本技能。

但是要成为一名合格的SQL数据库从业者,需要系统地学习SQL数据库的底层原理,结合不同业务需求,灵活运用各种SQL语句和操作方式,熟悉数据库的设计和管理等相关知识。

在学习过程中,不同的学习资料、学习方法和学习思路都有着重要的作用。

而SQL 数据库期刊类参考文献,则是一种非常好的学习资料。

SQL数据库期刊类参考文献是SQL数据库领域权威专家的集体智慧,内容丰富、结构完整,涵盖了SQL数据库的各个方面。

通过阅读SQL数据库期刊类参考文献,不仅可以得到学习SQL数据库的全面指南,而且还可以深入了解SQL数据库相关技术的前沿发展和应用现状。

SQL数据库期刊类参考文献的内容涵盖了SQL数据库的各个方面。

例如SQL数据库的基本概念、SQL语言基础、SQL语句编写与调试、数据库设计与优化、数据挖掘和数据分析等诸多内容。

不同的期刊类参考文献,则聚焦于不同的学科领域,例如互联网应用、数据分析、数据挖掘、机器学习等。

因此,无论是初学者还是高级从业者,都可以根据自己的需求选择不同的期刊类参考文献进行学习。

除了学习内容丰富之外,SQL数据库期刊类参考文献的另一个优势就是针对性强,适用范围广。

无论是SQL数据库的入门学习,还是数据分析和数据挖掘方面的深入研究,SQL数据库期刊类参考文献都能够为学习者提供有价值且实用的帮助。

sql转译

sql转译

SQL转译什么是SQL转译?在SQL中,有时候我们需要处理一些特殊的字符或者字符串,但是这些字符或字符串可能会与SQL语句中的关键字或者语法冲突。

为了解决这个问题,我们可以使用SQL转译(SQL Escaping)来对这些字符或字符串进行处理,使其成为合法的SQL语句的一部分。

SQL转译的作用SQL转译主要有以下几个作用:1.避免关键字冲突:在SQL语句中,存在一些关键字(如SELECT、INSERT等),如果我们需要使用这些关键字作为普通的字符而不是关键字,就需要进行转译。

2.处理特殊字符:在字符串中,有一些特殊字符(如单引号、双引号、斜杠等)可能会引起语法错误,使用转译可以将这些特殊字符进行处理,使其成为合法的字符串。

3.防止SQL注入攻击:当用户输入的数据作为参数传递给SQL语句时,如果不对用户输入进行转译处理,就会存在被恶意代码注入的风险。

通过对用户输入进行适当的转译处理,可以有效地防止SQL注入攻击。

SQL转译方法在不同的数据库管理系统中,提供了不同的方法来实现SQL转译。

下面以常见的MySQL数据库为例,介绍几种常用的SQL转译方法。

1. 单引号转译在SQL语句中,字符串常常使用单引号来表示。

但是当字符串中包含单引号时,就需要进行转译处理。

在MySQL中,可以使用反斜杠()来对单引号进行转译。

例如,要查询包含单引号的字符串,可以使用以下语句:SELECT * FROM `table` WHERE `column` = 'It\'s a string'2. 双引号转译双引号在MySQL中通常用于标识对象名称(如表名、列名等)。

如果需要在对象名称中使用双引号本身,则可以通过两个双引号进行转译。

例如,要查询一个名为”table”的表,可以使用以下语句:SELECT * FROM ""table""3. 斜杠转译斜杠(/)在MySQL中用于表示特殊字符或者作为转义字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.翻译SQL tutorial
SQL综述
S QL教程让我们能学到关于结构化查询语言的很独特的东西,它帮助我们实践SQL命令,
它能起到立竿见影的效果,SQL是一种数据库语言,它包括数据库的创建、删除、读取行和修改行。

什么是SQL?
SQL是结构化查询语言,它是一种用于存储、处理、读取关联数据库中数据的一门电脑语言。

SQL是关联数据库系统的标准语言,所有相关的数据库管理系统,类似于MySQL、MSAcess、Oracle、Sybase、Informix、postgres、SQL服务器等等这些都把SQL作为标准语言。

除此之外,它们也用其他语言,例如:
(1)MSSQL用T-SQL
(2)Oracle用PL/SQL
(3)MSAcess形式的SQL被称作JETSQL等等
为什么是SQL?
(1)允许用户访问关系数据库管理系统中的数据
(2)允许用户描述数据
(3)允许用户定义在数据库中的数据并操纵该数据。

(4)允许嵌入其他语言,使用SQL的模块、库、预编译器
(5)允许用户创建和删除数据库和表格。

(6)允许用户创建视图,存储过程,在数据库中调用函数
(7)允许用户设置表,过程和视图的权限
历史:
(1)1970 - 博士EF“泰德”IBM被称为关系数据库之父。

他描述了数据库的关系模型。

(2)1974年- 结构化查询语言出现。

(3)1978年- IBM合作开发Codd的想法,并发布了一个名为System/ R的产品。

(4)1986年- IBM开发关系数据库的第一台样机,并通过ANSI标准化。

第一个关系型数据库是由关系型软件及其后来成为Oracle发布
SQL过程:
当你在任何RDBMS执行SQL命令时,系统决定实施您的要求的最佳途径,SQL引擎负责处理翻译任务。

在这个过程中有各式各样的组件,分别是查询调度仪、优化引擎、经典查询引擎、SQL查询
引擎等等。

经典查询引擎处理所有非SQL查询,但是SQL查询引擎才会处理逻辑文件。

下面是一个显示SQL架构一个简单的图表:
SQL命令
与关联数据库进行交互的标准的SQL命令有创建、选择、插入、更新、删除和丢弃。

这些命令可以基于本身的性质进行分组:
二.翻译第五章绪论
第五章.访问数据库的程序
在第四章除了最后一节的SQL问题例子中,我们集中介绍了这样一个环境,用户交互地把SQL查询语句输入数据库系统(一个查询接口),然后系统把结果以表的形式输出到用户的显示屏上,这确确实实是获得查询结果的一种方法,却不是唯一的一种。

我们将在第五章中讨论,实际上大多数都是通过一个应用程序界面提交的,这里,应用程序员使用CJava等高级语言或DBMS提供的特殊过程性语言编写程序,程序执行时,一般以菜单的形式与监视器用户交互(可能有多个用户同时执行该程序),用户选择菜单选项,然后程序通过完成一个或多个SQL查询来完成由用户的菜单来选择提交的任务,所有的行为都由监视器用户操纵相关菜单的选项控制--------实际上任何时候,监视器用户都不直接创建SQL查询。

在图1-7中,我们给出了菜单交互的例子。

图1-----7一个菜单交互式数据库查询的例子
在图1-7中,用户想要查询IsaacAsimov写的所有关于“机器人学”的书,为了使用方便,可以使用SQL语言提供的各种通配符号,例如,在用户不清楚拼写的时候,可以用“Asim%”代替“Asimov”或者是“Asimoff”。

在subject栏的关键字的选择可能以字母表的次序列出。

这对于程序来说是额外的工作,但不这样,用户就不清楚是在用“robotic”还是“robot”或者是“robots”。

在这里大家要注意:虽然SQL查询(或者其他的SQL语句)可以在程序内部执行,但JAVA,C等大多数高级语言不支持SQL查询,所以要用一种特殊的标记指出SQL语句,程序通过预处理器运行,这些特殊的格式被转化为对数据库函数中的C函数的合法调用,然后由编译器产生一个可执行的程序。

图1-8一段用于数据库访问的程序
把SQL语句放到高级语言程序中的做法成为嵌入式SQL编程,如果你有过这样的编程经历,把C结构写入磁盘文件,然后再读出,那么你会发现用SQL做这些事是多么的简单,特别是,嵌入式SQL使得程序员遇到的最困难的事情之一完成起来比较容易。

我们会看到,DBMS 利用很多基于磁盘的数据结构来有效地访问数据,但逻辑程序中不必知道这些结构,其中仅引用表的结构和表中包含的列值。

程序逻辑中也不必了解访问模式、文件中的位置、记录结构等,所有的这些细节都由DBMS处理,这种特性称为程序--数据独立性。

表的结构随着时间的流逝而发生变化时,程序---数据独立性的重要性就日益明显。

表中可能会增加一些列,而行数的增加可能使原有的单个磁盘不能容纳整个表,从而分割存储到几个磁盘中,这些变化引起对新的数据结构的需求,以加快根据列值访问行的速度,在一个设计合理的数据库中,所有的这些需求都不会影响应用程序的逻辑结构。

程序---独立性非常重要,我们为它给出本节唯一一个正式定义。

定义1.3.1程序---数据独立性是具有良好构造的数据库的一种特性,它使应用程序逻辑的存储结构和存储方法免于被修改。

三.用表描述数据库用户。

相关文档
最新文档