當前位置:首頁 » 工作應聘 » 資料庫面試

資料庫面試

發布時間: 2020-12-26 22:18:16

Ⅰ java面試題中一般資料庫會問什麼內容

資料庫基礎(面試常見題)

一、資料庫基礎

1. 數據抽象:物理抽象、概念抽象、視圖級抽象,內模式、模式、外模式
2. SQL語言包括數據定義、數據操縱(Data Manipulation),數據控制(Data Control)
數據定義:Create Table,Alter Table,Drop Table, Craete/Drop Index等
數據操縱:Select ,insert,update,delete,
數據控制:grant,revoke
3. SQL常用命令:
CREATE TABLE Student(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(50) NOT NULL);//建表
CREATE VIEW view_name AS
Select * FROM Table_name;//建視圖
Create UNIQUE INDEX index_name ON TableName(col_name);//建索引
INSERT INTO tablename {column1,column2,…} values(exp1,exp2,…);//插入
INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…);//插入視圖實際影響表
UPDATE tablename SET name=』zang 3』 condition;//更新數據
DELETE FROM Tablename WHERE condition;//刪除
GRANT (Select,delete,…) ON (對象) TO USER_NAME [WITH GRANT OPTION];//授權
REVOKE (許可權表) ON(對象) FROM USER_NAME [WITH REVOKE OPTION] //撤權
列出工作人員及其領導的名字:
Select E.NAME, S.NAME FROM EMPLOYEE E S 
WHERE E.SUPERName=S.Name
4. 視圖:
5. 完整性約束:實體完整性、參照完整性、用戶定義完整性

Ⅱ 面試中常問:mysql資料庫做哪些優化也提高mysql性能

在開始演示之前,我們先介紹下兩個概念。


概念一,數據的可選擇性基數,也就是常說的cardinality值。


查詢優化器在生成各種執行計劃之前,得先從統計信息中取得相關數據,這樣才能估算每步操作所涉及到的記錄數,而這個相關數據就是cardinality。簡單來說,就是每個值在每個欄位中的唯一值分布狀態。


比如表t1有100行記錄,其中一列為f1。f1中唯一值的個數可以是100個,也可以是1個,當然也可以是1到100之間的任何一個數字。這里唯一值越的多少,就是這個列的可選擇基數。


那看到這里我們就明白了,為什麼要在基數高的欄位上建立索引,而基數低的的欄位建立索引反而沒有全表掃描來的快。當然這個只是一方面,至於更深入的探討就不在我這篇探討的范圍了。


概念二,關於HINT的使用。


這里我來說下HINT是什麼,在什麼時候用。


HINT簡單來說就是在某些特定的場景下人工協助MySQL優化器的工作,使她生成最優的執行計劃。一般來說,優化器的執行計劃都是最優化的,不過在某些特定場景下,執行計劃可能不是最優化。


比如:表t1經過大量的頻繁更新操作,(UPDATE,DELETE,INSERT),cardinality已經很不準確了,這時候剛好執行了一條SQL,那麼有可能這條SQL的執行計劃就不是最優的。為什麼說有可能呢?


來看下具體演示


譬如,以下兩條SQL,

  • A:

  • select * from t1 where f1 = 20;

  • B:

  • select * from t1 where f1 = 30;

  • 如果f1的值剛好頻繁更新的值為30,並且沒有達到MySQL自動更新cardinality值的臨界值或者說用戶設置了手動更新又或者用戶減少了sample page等等,那麼對這兩條語句來說,可能不準確的就是B了。

    這里順帶說下,MySQL提供了自動更新和手動更新表cardinality值的方法,因篇幅有限,需要的可以查閱手冊。

    那回到正題上,MySQL 8.0 帶來了幾個HINT,我今天就舉個index_merge的例子。

    示例表結構:

  • mysql> desc t1;+------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+------------+--------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL | auto_increment || rank1 | int(11) | YES | MUL | NULL | || rank2 | int(11) | YES | MUL | NULL | || log_time | datetime | YES | MUL | NULL | || prefix_uid | varchar(100) | YES | | NULL | || desc1 | text | YES | | NULL | || rank3 | int(11) | YES | MUL | NULL | |+------------+--------------+------+-----+---------+----------------+7 rows in set (0.00 sec)

  • 表記錄數:

  • mysql> select count(*) from t1;+----------+| count(*) |+----------+| 32768 |+----------+1 row in set (0.01 sec)

  • 這里我們兩條經典的SQL:

  • SQL C:

  • select * from t1 where rank1 = 1 or rank2 = 2 or rank3 = 2;

  • SQL D:

  • select * from t1 where rank1 =100 and rank2 =100 and rank3 =100;

  • 表t1實際上在rank1,rank2,rank3三列上分別有一個二級索引。

    那我們來看SQL C的查詢計劃。

    顯然,沒有用到任何索引,掃描的行數為32034,cost為3243.65。

  • mysql> explain format=json select * from t1 where rank1 =1 or rank2 = 2 or rank3 = 2G*************************** 1. row ***************************EXPLAIN: { "query_block": { "select_id": 1, "cost_info": { "query_cost": "3243.65" }, "table": { "table_name": "t1", "access_type": "ALL", "possible_keys": [ "idx_rank1", "idx_rank2", "idx_rank3" ], "rows_examined_per_scan": 32034, "rows_proced_per_join": 115, "filtered": "0.36", "cost_info": { "read_cost": "3232.07", "eval_cost": "11.58", "prefix_cost": "3243.65", "data_read_per_join": "49K" }, "used_columns": [ "id", "rank1", "rank2", "log_time", "prefix_uid", "desc1", "rank3" ], "attached_condition": "((`ytt`.`t1`.`rank1` = 1) or (`ytt`.`t1`.`rank2` = 2) or (`ytt`.`t1`.`rank3` = 2))" } }}1 row in set, 1 warning (0.00 sec)

  • 我們加上hint給相同的查詢,再次看看查詢計劃。

    這個時候用到了index_merge,union了三個列。掃描的行數為1103,cost為441.09,明顯比之前的快了好幾倍。

  • mysql> explain format=json select /*+ index_merge(t1) */ * from t1 where rank1 =1 or rank2 = 2 or rank3 = 2G*************************** 1. row ***************************EXPLAIN: { "query_block": { "select_id": 1, "cost_info": { "query_cost": "441.09" }, "table": { "table_name": "t1", "access_type": "index_merge", "possible_keys": [ "idx_rank1", "idx_rank2", "idx_rank3" ], "key": "union(idx_rank1,idx_rank2,idx_rank3)", "key_length": "5,5,5", "rows_examined_per_scan": 1103, "rows_proced_per_join": 1103, "filtered": "100.00", "cost_info": { "read_cost": "330.79", "eval_cost": "110.30", "prefix_cost": "441.09", "data_read_per_join": "473K" }, "used_columns": [ "id", "rank1", "rank2", "log_time", "prefix_uid", "desc1", "rank3" ], "attached_condition": "((`ytt`.`t1`.`rank1` = 1) or (`ytt`.`t1`.`rank2` = 2) or (`ytt`.`t1`.`rank3` = 2))" } }}1 row in set, 1 warning (0.00 sec)

  • 我們再看下SQL D的計劃:

  • 不加HINT,

  • mysql> explain format=json select * from t1 where rank1 =100 and rank2 =100 and rank3 =100G*************************** 1. row ***************************EXPLAIN: { "query_block": { "select_id": 1, "cost_info": { "query_cost": "534.34" }, "table": { "table_name": "t1", "access_type": "ref", "possible_keys": [ "idx_rank1", "idx_rank2", "idx_rank3" ], "key": "idx_rank1", "used_key_parts": [ "rank1" ], "key_length": "5", "ref": [ "const" ], "rows_examined_per_scan": 555, "rows_proced_per_join": 0, "filtered": "0.07", "cost_info": { "read_cost": "478.84", "eval_cost": "0.04", "prefix_cost": "534.34", "data_read_per_join": "176" }, "used_columns": [ "id", "rank1", "rank2", "log_time", "prefix_uid", "desc1", "rank3" ], "attached_condition": "((`ytt`.`t1`.`rank3` = 100) and (`ytt`.`t1`.`rank2` = 100))" } }}1 row in set, 1 warning (0.00 sec)

  • 加了HINT,

  • mysql> explain format=json select /*+ index_merge(t1)*/ * from t1 where rank1 =100 and rank2 =100 and rank3 =100G*************************** 1. row ***************************EXPLAIN: { "query_block": { "select_id": 1, "cost_info": { "query_cost": "5.23" }, "table": { "table_name": "t1", "access_type": "index_merge", "possible_keys": [ "idx_rank1", "idx_rank2", "idx_rank3" ], "key": "intersect(idx_rank1,idx_rank2,idx_rank3)", "key_length": "5,5,5", "rows_examined_per_scan": 1, "rows_proced_per_join": 1, "filtered": "100.00", "cost_info": { "read_cost": "5.13", "eval_cost": "0.10", "prefix_cost": "5.23", "data_read_per_join": "440" }, "used_columns": [ "id", "rank1", "rank2", "log_time", "prefix_uid", "desc1", "rank3" ], "attached_condition": "((`ytt`.`t1`.`rank3` = 100) and (`ytt`.`t1`.`rank2` = 100) and (`ytt`.`t1`.`rank1` = 100))" } }}1 row in set, 1 warning (0.00 sec)

  • 對比下以上兩個,加了HINT的比不加HINT的cost小了100倍。

    總結下,就是說表的cardinality值影響這張的查詢計劃,如果這個值沒有正常更新的話,就需要手工加HINT了。相信MySQL未來的版本會帶來更多的HINT。

Ⅲ 前幾天面試,面試官問會不會用資料庫,完全不懂這資料庫指的是什麼

簡單來說資料庫就是個電腦中用於儲存數據的軟體工具;
你說的文案類的工作,可能就只版是要求一些權簡單的資料庫操作,因為資料庫中可以用特定的方法,對儲存的數據進行查詢,更新及插入操作(也就是對儲存數據的維護)
例如:
如果公司的人事資料在資料庫中建立儲存,就可以通過資料庫查詢人員的相關信息(例如入職日期,學歷,出生年月等),也可以統計在1個月中入職多少,離職多少的信息
有問題,請繼續追問,沒問題,請採納,謝謝~

Ⅳ 資料庫面試題

createdatabaseaaa;createtableusers(idintNOTNULLAUTO_INCREMENT,user_namechar(10),moneychar(10),add_timedatetimePRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8;3.insertintousersvalues(2,'a1','a11',current_date),(3,'a1','a11',current_date),(4,'a1','a11',current_date),(5,'a1','a11',current_date),(6,'a1','a11',current_date),(7,'a1','a11',current_date),(8,'a1','a11',current_date),(9,'a1','a11',current_date),(10,'a1','a11',current_date),(11,'a1','a11',current_date);4.參考第二步5.參考第三步6.selecta.username,a.money,b.email,b.user_phone,b.weighfromusersa,user_infobwherea.id=b.idanda.id=XXX(你指定的);7.mysqlmp-uroot-paaa>/tmp/aaa.sql(需要輸入密碼)我用的是mysql上的寫法

Ⅳ 資料庫存儲過程有哪些,面試題

資料庫存儲過程有哪些
/*
系統存儲過程很多,有些常用,有些不常用
常用:
sp_attach_db 附加資料庫到一個伺服器中
sp_columns 返回在當前環境中列的信息
sp_databases 列出當前系統中的資料庫
sp_configure 顯示或修改當前伺服器的全局配置
sp_depends 顯示資料庫對象的依賴信息
sp_executesql 執行動態的T-SQL語句
sp_help 報告有關資料庫對象的信息
sp_helpdb 返回指定資料庫或全部資料庫的信息
sp_helptext 顯示規則、默認值、存儲過程、觸發器、視圖等的未加密的文本定義信息
sp_indexes 返回指定遠程表的索引信息
sp_lock 返回有關鎖的信息
sp_password 增加或者修改指定login的口令
sp_rename 更改用戶創建的資料庫對象名稱
sp_renamedb 更改資料庫名稱
sp_spaceused 顯示資料庫的空間使用情況
sp_tables 返回在當前環境中可以被查詢的對象的列表
sp_who 提供當前用戶和進程的信息
不常用:
sp_addlinkedserver 創建一個允許執行分布式查詢的鏈接伺服器
sp_addlinkedsrvlogin 在本地伺服器和遠程伺服器之間創建login帳戶的映射關系
sp_addlogin 創建一個新的login帳戶
sp_add_agent_parameter 在代理文件中增加一個參數
sp_add_agent_profile 為復制代理增加一個代理文件
sp_add_alert 創建一個警報
sp_add_category 在伺服器上,增加一種作業、警報或者操作員的特定分類
sp_add_data_file_recover_suspect_db 當資料庫復原不能完成時,向文件組增加一個數據文件
sp_add_file_recover_suspect_db 對於復原有問題的資料庫增加一個文件
sp_add_job 增加一個sql server agent可以執行的作業
sp_add_jobschele 為作業創建調度
sp_add_jobserver 把指定的作業增加到指定伺服器上
sp_add_jobstep 在作業中增加一步或一個操作
sp_add_log_file_recover_suspect_db 當資料庫復原不能完成時,向文件組增加一個日誌文件
sp_add_notification 為警報創建一個通知
sp_add_operator 為警報或者作業創建一個操作員
sp_add_targetservergroup 增加指定的伺服器組
sp_add_targetsvrgrp_member 在指定的目標伺服器組增加一個目標伺服器
sp_addalias 在資料庫中為login帳戶增加一個別名
sp_addapprole 在資料庫中增加一個特殊的應用程序角色
sp_addarticle 創建文章,並把該文章添加到出版物中
sp_adddistpublisher 創建一個使用本地分布伺服器的出版伺服器
sp_adddistributiondb 在分布伺服器上創建一個新的distribution資料庫
sp_adddistributor 增加一個分布伺服器
sp_addextendedproc 在系統中增加一個擴展存儲過程
sp_addgroup 在當前資料庫中增加一個組
sp_addmergearticle 為一個已有的合並出版物創建一個文章
sp_addmergefilter 為了連接另外一個表,創建一個合並過濾器
sp_addmergepublication 創建一個新的合並出版物
sp_addmergepullsubscription 增加一個拉回類型的訂閱物
sp_addmergepullsubscription_agent 在訂閱伺服器上,為合並拉回訂閱物創建一個代理
sp_addmergesubscription 創建一個推出或者拉回類型的訂閱物
sp_addmessage 在系統中增加一個新的錯誤消息
sp_addpublicaton 創建一個快照復制或者事務復制出版物
sp_addpublicaton_snapshot 創建一個快照代理
sp_addpullsusscription 在當前訂閱伺服器的資料庫中增加一個拉回或者匿名訂閱物
sp_addpullsusscription_agent 在訂閱伺服器的資料庫中增加一個新的代理
sp_addremotelogin 在本地伺服器上增加一個遠程login帳戶,允許執行遠程存儲過程調用
sp_addrole 在當前資料庫中增加一個角色
sp_addrolemember 為當前資料庫中的一個角色增加一個安全性帳戶
sp_addserver 添加一個遠程或者本地伺服器
sp_addsrvrolemember 為固定的伺服器角色增加一個成員
sp_addsubscriber 增加一個新的訂閱伺服器
sp_addsubscriber_schele 為分布代理和合並代理增加一個調度
sp_addsubscription 訂閱文章並且設置訂閱伺服器的狀態
sp_addsynctrigers 在訂閱伺服器上創建一個立即修改觸發器
sp_addtabletocontents 在合並跟蹤表中插入一個參考
sp_addtype 創建一個用戶定義的數據類型
sp_admpdevice 增加一個備份設備
sp_adser 在當前資料庫中為一個新用戶增加一個安全性帳戶
sp_altermessage 修改錯誤信息的狀態
sp_addly_job_to_targets 把作業應用到一個或者多個目標伺服器
sp_approlepassword 在當前資料庫中改變應用程序角色的口令
sp_aarticle_validation 為指定的文章初始化確認請求
sp_aarticlecolumn 指定在文章中使用的列
sp_aarticlefilter 創建一個用於水平過濾數據的過濾器
sp_articleview 當表被過濾時,為文章創建一個同步化對象
sp_attach_single_file_db 在當前伺服器中,附加一個只有一個數據文件的資料庫
sp_aautostats 對於一個指定的索引或統計,自動顯示update statistics的狀態
sp_bindefault 把默認值綁定到列或用戶定義的數據類型上
sp_bindrule 把規則綁定到列或用戶定義的數據類型上
sp_bindsession 綁定或解除綁定與實例中的其它事務的連接
sp_browsereplcmds 在分布資料庫中返回一種可讀格式的結果集
sp_catalogs 返回指定連接伺服器中的系統目錄列表,在本地伺服器中等價於資料庫列表
sp_certify_removable 確認在可移動介質上用於分布的資料庫是否正確配置
sp_change_agent_parameter 修改復制代理配置使用的參數
sp_change_agent_profile 修改復制代理配置使用的配置參數
sp_change_users_login 修改login與當前資料庫中用戶之間的關系
sp_changearticle 改變文章的屬性
sp_changedbowner 改變當前資料庫的所有者
sp_changedistpublisher 改變分布出版伺服器的屬性
sp_changedistributor_password 改變分布伺服器的口令
sp_changedistributor_property 改變分布伺服器的屬性
sp_changedistribtutiondb 改變分布資料庫的屬性
sp_changegroup 改變安全性帳戶所屬的角色
sp_changemergearticle 改變合並文章的屬性
sp_changemergefilter 改變一些合並過濾器的屬性
sp_changemergepublication 改變合並出版物的屬性
sp_changemergepullsubscription 改變合並拉回出版物的屬性
sp_changemergesubscription 改變合並的推出或者拉回出版物的屬性
sp_changeobjectowner 改變對象的所有者
sp_changepublication 改變出版物的屬性
sp_changesubscriber 改變用於訂閱伺服器的選項
sp_changesubscriber_schele 改變用於分布式代理和事務代理的訂閱伺服器的調度
sp_changesubstatus 改變訂閱伺服器的狀態
sp_column_privileges 返回列的許可權信息
sp_column_privileges_ex 返回在鏈接伺服器上指定表的列的許可權信息
sp_columns_ex 返回在鏈接伺服器上列的信息
sp_create_removable 創建一個可移動介質資料庫
sp_createstats 創建單列的統計信息
sp_cursor 用於請求定位更新
sp_cursor_list 報告當前打開的伺服器游標屬性
sp_cursorclose 關閉和釋放游標
sp_cursorfetch 從游標中取出數據行
sp_cursoropen 定義與游標和游標選項相關聯的 SQL 語句,然後填充游標
sp_cursoroption 用於設置各種游標選項
sp_cycle_errorlog 關閉錯誤日誌文件重新開始錯誤記錄
sp_datatype_info 返回當前環境支持的數據類型信息
sp_dbfixedrolepermission 顯示每一個固定資料庫角色的許可
sp_dboption 顯示或修改資料庫選項
sp_dbremove 刪除資料庫和與該資料庫相關的所有文件
sp_defaultdb 設置登錄帳戶的默認資料庫
sp_defaultlanguage 設置登錄帳戶的默認語言
sp_delete_alert 刪除警報
sp_delete_backuphistory 刪除備份和恢復的歷史信息
sp_delete_category 刪除指定類型的作業、警報和操作員
sp_delete_job 刪除一個作業
sp_delete_jobschele 刪除作業的調度
sp_delete_jobserver 刪除指定的目標伺服器
sp_delete_jobstep 從作業中刪除指定的作業步驟
sp_delete_notfication 刪除發送給某個操作員的所有通知
sp_delete_operator 刪除操作員
sp_delete_targetserver 從可以使用的目標伺服器列表中刪除指定的伺服器
sp_delete_targetservergroup 刪除指定的目標伺服器組
sp_delete_targetsvrgrp_member 從目標伺服器組中刪除一個目標伺服器
sp_deletemergeconflictrow 刪除沖突表中的記錄行
sp_denylogin 防止window用戶或群組連接到 sql server
sp_describe_cursor 報告伺服器游標的屬性
sp_describe_cursor_columns 報告在伺服器游標的結果集中列的屬性
sp_describe_cursor_tables 報告伺服器游標參考的基表信息
sp_detach_db 分享伺服器中的資料庫
sp_drop_agentparameger 刪除配置文件中的一個或者多個參數
sp_drop_profile 刪除配置文件
sp_dropalias 刪除一個帳戶的別名
sp_dropapprole 刪除當前資料庫中的應用程序角色
sp_droparticle 從出版物中刪除一篇文章
sp_dropdevice 刪除資料庫或者備份設備
sp_dropdistpublisher 刪除出版伺服器
sp_dropdistributiondb 刪除分布資料庫
sp_dropdistributor 刪除分布伺服器
sp_dropdropextendedproc 刪除一個擴展存儲過程
sp_dropgroup 從當前資料庫中刪除角色
sp_droplinkedsrvlogin 刪除一個本地伺服器和連接伺服器的映射帳戶
sp_droplogin 刪除一個登錄帳戶
sp_dropmergearticle 從合並出版物中刪除一篇文章
sp_dropmergefilter 刪除一個合並過濾器
sp_dropmergepublication 刪除一個合並出版物和與其相關的快照復制
sp_dropmergepullsubscription 刪除一個合並拉回訂購物
sp_dropmergesubscription 刪除一個訂閱物
sp_dropmessage 刪除一個消息
sp_droppublication 刪除出版物和與其相關的文章
sp_droppullsubscription 刪除當前訂閱伺服器資料庫中的訂閱物
sp_dropremotelogin 刪除一個遠程登錄帳戶
sp_droprole 從當前資料庫中刪除一個角色
sp_droprolemember 從當前資料庫中的一個角色中刪除一個安全性帳戶
sp_dropserver 刪除一個遠程或者連接伺服器列表中的伺服器
sp_dropsrvrolemember 從一個固定的伺服器角色中刪除一個帳戶
sp_dropsubscriber 刪除一個訂閱伺服器
sp_dropsubscription 刪除訂閱物
sp_droptype 刪除一種用戶定義的數據類型
sp_dropuser 從當前資料庫中刪除一個用戶
sp_dropdropwebtask 刪除以前版本定義的web任務
sp_dsninfo 從一個與當前伺服器相關的分布伺服器返回ODBC和OLE DB數據源的信息
sp_mpparamcmd 返回存儲在分布資料庫中的參數化命令的詳細信息
sp_enumcodepages 返回一個字元集和代碼頁的列表
sp_enumcustomresovers 返回所有可用的定製解決方案表表
sp_enumdsn 返回所有可用的odbc和ole db數據源列表
sp_enumfullsubscribers 返回訂閱伺服器的列表
sp_expired_subscription_cleanup 周期性地檢查訂閱物的狀態是否失效
sp_fkeys 返回當前環境的外鍵信息
sp_foreignkeys 返回參照連接伺服器的表的主鍵的外鍵
sp_fulltext_catalog 創建和刪除全文本目錄
sp_fulltext_column 指定某一個列是否參加全文本索引
sp_fulltext_database 從當前資料庫中初始化全文本索引
sp_fulltext_service 改變Microsoft Search Service屬性
sp_fulltext_table 標記用於全文本索引的表
sp_generatefilters 在外鍵表上創建一個過濾器
sp_get_distributor 確定一個分布伺服器是否安裝在某個伺服器上
sp_getbindtoken 創建一個綁定的連接文本
sp_getmergedeletype 返回合並刪除的類型
sp_grant_publication_access 在出版物的訪問列表中增加一個用戶
sp_grantdbaccess 在當前資料庫中增加一個安全性帳戶
sp_grantlogin 允許Windows用戶或群組連接到 SQL Server
sp_help_agent_default 檢索作為參數傳送的代理類型的默認配置的標識號
sp_help_agent_parameter 返回代理配置的所有參數
sp_help_agent_profile 返回指定代理的配置
sp_help_alert 報告有關警報的信息
sp_help_category 提供有關作業、警報、操作員的指定種類的信息
sp_help_downloadlist 列出有關作業的信息
sp_help_fulltext_catalogs 返回有關全文本索引表的信息
sp_help_fulltext_columns 返回標記全文本索引的列信息
sp_help_fulltext_columns_cursor 使用游標檢索標記為全文本的索引列
sp_help_fulltext_tables 返回標記為全文本索引的表
sp_help_fulltext_tables_cursor 使用游標返回標記為全文本索引的表
sp_help_job 返回有關作業的信息
sp_help_jobhistory 提供有關作業的歷史信息
sp_help_jobschele 返回作業的調度信息
sp_help_jobserver 返回給定作業的伺服器信息
sp_help_jobstep 返回作業的步驟信息
sp_help_operator 返回有關操作員的信息
sp_help_publication_access 返回可以訪問指定出版物的帳戶列表
sp_help_targetserver 列出全部目標伺服器
sp_help_targetservergroup 列出指定伺服器組中的全部目標伺服器
sp_helparticle 顯示有關文章的信息
sp_helpconstraint 返回有關約束的類型、名稱等信息
sp_helpdbfixedrole 返回固定的伺服器角色的列表
sp_helpdevice 返回有關資料庫文件的信息
sp_helpdistpublisher 返回充當分布伺服器的出版伺服器的屬性
sp_helpdistributiondb 返回分布資料庫的屬性信息
sp_helpdistributor 列出分布伺服器、分布資料庫、工作目錄等信息
sp_helpextendproc 顯示當前定義的擴展存儲過程信息
sp_helpfile 返回與當前資料庫相關的物理文件信息
sp_helpfilegroup 返回與當前資料庫相關的文件組信息
sp_helpgroup 返回當前資料庫中的角色信息
sp_helpindex 返回有關表的索引信息
sp_helplanguage 返回有關語言的信息
sp_helplinkedsrvlogin 返回鏈接伺服器中映射的帳戶信息
sp_helplogins 返回有關login和與其相關的資料庫用戶信息
sp_helpmergearticle 返回有關合並文章的信息
sp_helpmergearticleconflicts 返回有關沖突的出版物中的文章信息
sp_helpmergeconflictrows 返回在指定沖突表中的行
sp_helpmergefilter 返回有關合並過濾器的信息
sp_helpmergepublication 返回有關合並出版物的信息
sp_helpmergepullsubscription 返回有關拉回訂閱物的信息
sp_helpmergesubscription 返回有關推出訂閱物的信息
sp_help_notification 報告對於給定操作員的警報信息
sp_helppublication 返回有關出版物的信息
sp_helprole 返回當前資料庫中的角色信息
sp_helprolemember 返回當前資料庫中角色成員的信息
sp_helprotect 返回有關用戶許可的信息
sp_helpserver 顯示特定遠程或者復制伺服器的信息
sp_helpsort 顯示系統的排列順序和字元集的信息
sp_helpsrvrole 顯示系統中的固定伺服器角色列表
sp_helpsrvrolemember 顯示系統中的固定伺服器角色成員的信息
sp_helpsubscrberinfo 顯示有關訂閱伺服器的信息
sp_helpsubscription 顯示有特定出版物等有關的訂閱物信息
sp_helpsubscription_properties 檢索安全性信息
sp_helptrigger 顯示觸發器的類型
sp_helpuser 顯示當前資料庫中的用戶、Windows NT用戶和組、角色等信息
sp_indexoption 為用戶定義的索引設置選項
sp_link_publication 設置立即修改訂閱伺服器的同步化觸發器使用的配置和安全性信息
sp_linkedservers 返回在本地伺服器上定義的鏈接伺服器的列表
sp_makewebtask 創建一個執行html文檔的任務
sp_manage_jobs_by_login 刪除或者重新指定屬於login的作業
sp_mergemmyupdate 製作用於合並復制的修改備份
sp_mergesubscription_cleanup 刪除元數據
sp_monitor 顯示系統的統計信息
sp_msx_defect 從多個伺服器操作中刪除當前伺服器
sp_msx_enlist 增加當前伺服器到可用的目標伺服器列表中
sp_pkeys 返回某個表的主鍵信息
sp_post_msx_operation 插入一些目標伺服器可以執行的信息
sp_primarykeys 返回主鍵列的信息
sp_processmail 使用擴展存儲過程修改郵件信息
sp_procoption 設置或者顯示過程選項
sp_publication_validation 初始化文章校驗請求
sp_purge_jobhistory 刪除作業的歷史記錄
sp_recompile 使存儲過程和觸發器在下一次運行時重新編譯
sp_refreshsubscriptions 在拉回出版物中增加訂閱物到文章中
sp_refreshview 刷新指定視圖的元數據
sp_reinitmergepullsubscription 標記一個合並拉回訂閱
sp_reiniteergesubscription 標記一個合並訂閱
sp_reinitpullsubscription 標記一個事務訂閱或者匿名訂閱
sp_reinitsubscription 重新初始化訂閱
sp_remoteoption 顯示或者修改遠程登錄帳戶的選項
sp_remove_job_from_targets 從給定的目標伺服器中刪除指定的作業
sp_removedbreplication 從資料庫中刪除所有的復制對象
sp_replcounters 返回復制的統計信息
sp_repldone 修改伺服器做的分布事務的統計信息
sp_replflush 處理文章的高速緩沖存儲區
sp_replication_agent_checkup 檢查每一個分布資料庫
sp_replicationdboption 在當前資料庫中設置復制資料庫的選項
sp_replsetoriginator 用於在事務復制中檢測循環登錄
sp_replshowcmds 返回標記復制的事務命令
sp_repltrans 返回在出版資料庫事務日誌中的所有事務的結果集
sp_resetstatus 重新設置異常資料庫的形態
sp_resync_targetserver 重新同步所有的多伺服器作業
sp_revoke_publication_access 從出版資料庫的訪問列表中刪除login帳戶
sp_revokedbaccess 從當前資料庫中刪除安全性帳戶
sp_revokelogin 刪除系統的login帳戶
sp_script_synctran_commands 生成一個可以用於立即修改訂閱物的腳本
*/

Ⅵ 面試時問我資料庫連接機制是什麼

連接復池的實現是以空間換時間。制
J2EE伺服器啟動時會建立一定數量的池連接,並一直維持不少於此數目的池連接。客戶端程序需要連接時,池驅動程序會返回一個未使用的池連接並將其表記為忙。如果當前沒有空閑連接,池驅動程序就新建一定數量的連接,新建連接的數量有配置參數決定。當使用的池連接調用完成後,池驅動程序將此連接表記為空閑,其他調用就可以使用這個連接。

Ⅶ 資料庫存儲過程有哪些,面試題

對於一個php入門的人來說;
資料庫:
用戶數據表:id,fid,user,password,username
每一個會員專增加一個數據表,以屬wen_$id作為表名,內容包括id,文章名,文章內容
系統框架:
管理許可權->
超級管理員:資料庫的所有管理功能。
用戶管理員:審核會員博客內容,刪除日誌
普通用戶:對自己的博客進行增加,修改,刪除
會員列表->
超級界面:
按用戶管理員分類,每個用戶管理員下近期的操作
用戶管理員界面:
所管轄普通用戶的操作
用戶界面:
對自己日誌的操作.
網路架構
會員登錄判斷
登錄後->
顯示信息界面,可操作.
未登錄->
顯示博客信息界面,不可操作.
哎呀,自己想的,從來沒有考慮過,時間也段,自己也挺暈的,什麼公司做這樣的博客啊,樓主看看,我能面試上嗎.

Ⅷ 面試的時候被問到說一下你熟悉的資料庫該怎麼回答

面試的時候被問到說一下你熟悉

Ⅸ Oracle資料庫 面試時問:什麼是資料庫事務,怎麼回答,請明白的人給個答案,謝謝

事務(Transaction)是並發控制的單位,是用戶定義的一個操作序列,也就是完成某一功能的一組SQL語句。事務具有:原子性、一致性、分離性、持久性。

Ⅹ 資料庫的面試會問什麼樣的問題

目前在職場中很難找到非常合格的資料庫開發人員。有人說:「sql開發是一門語言,它很容易學,但是很難掌握。」
在面試應聘的sql Server資料庫開發人員時,我運用了一套標準的基準技術問題。下面這些問題是我覺得能夠真正有助於淘汰不合格應聘者的問題。它們按照從易到難的順序排列。當你問到關於主鍵和外鍵的問題時,後面的問題都十分有難度,因為答案可能會更難解釋和說明,尤其是在面試的情形下。
你能向我簡要敘述一下sql Server 2000中使用的一些資料庫對象嗎?
你希望聽到的答案包括這樣一些對象:表格、視圖、用戶定義的函數,以及存儲過程;如果他們還能夠提到像觸發器這樣的對象就更好了。如果應聘者不能回答這個基本的問題,那麼這不是一個好兆頭。
null是什麼意思?
null(空)這個值是資料庫世界裡一個非常難纏的東西,所以有不少應聘者會在這個問題上跌跟頭您也不要覺得意外。
null這個值表示unknown(未知):它不表示「」(空字元串)。假設您的sql Server資料庫里有ANSI_nullS,當然在默認情況下會有,對null這個值的任何比較都會生產一個null值。您不能把任何值與一個 unknown值進行比較,並在邏輯上希望獲得一個答案。您必須使用IS null操作符。

什麼是索引?sql Server 2000里有什麼類型的索引?
任何有經驗的資料庫開發人員都應該能夠很輕易地回答這個問題。一些經驗不太多的開發人員能夠回答這個問題,但是有些地方會說不清楚。
簡單地說,索引是一個數據結構,用來快速訪問資料庫表格或者視圖里的數據。在sql Server里,它們有兩種形式:聚集索引和非聚集索引。聚集索引在索引的葉級保存數據。這意味著不論聚集索引里有表格的哪個(或哪些)欄位,這些欄位都會按順序被保存在表格。由於存在這種排序,所以每個表格只會有一個聚集索引。非聚集索引在索引的葉級有一個行標識符。這個行標識符是一個指向磁碟上數據的指針。它允許每個表格有多個非聚集索引。
什麼是主鍵?什麼是外鍵?
主鍵是表格里的(一個或多個)欄位,只用來定義表格里的行;主鍵里的值總是唯一的。外鍵是一個用來建立兩個表格之間關系的約束。這種關系一般都涉及一個表格里的主鍵欄位與另外一個表格(盡管可能是同一個表格)里的一系列相連的欄位。那麼這些相連的欄位就是外鍵。
什麼是觸發器?sql Server 2000有什麼不同類型的觸發器?
讓未來的資料庫開發人員知道可用的觸發器類型以及如何實現它們是非常有益的

觸發器是一種專用類型的存儲過程,它被捆綁到sql Server 2000的表格或者視圖上。在sql Server 2000里,有INSTEAD-OF和after兩種觸發器。INSTEAD-OF觸發器是替代數據操控語言(Data Manipulation Language,dml)語句對表格執行語句的存儲過程。例如,如果我有一個用於TableA的INSTEAD-OF-UPDATE觸發器,同時對這個表格執行一個更新語句,那麼INSTEAD-OF-UPDATE觸發器里的代碼會執行,而不是我執行的更新語句則不會執行操作。
after觸發器要在dml語句在資料庫里使用之後才執行。這些類型的觸發器對於監視發生在資料庫表格里的數據變化十分好用。
您如何確一個帶有名為Fld1欄位的TableB表格里只具有Fld1欄位里的那些值,而這些值同時在名為TableA的表格的Fld1欄位里?
這個與關系相關的問題有兩個可能的答案。第一個答案(而且是您希望聽到的答案)是使用外鍵限制。外鍵限制用來維護引用的完整性。它被用來確保表格里的欄位只保存有已經在不同的(或者相同的)表格里的另一個欄位里定義了的值。這個欄位就是候選鍵(通常是另外一個表格的主鍵)。
另外一種答案是觸發器。觸發器可以被用來保證以另外一種方式實現與限制相同的作用,但是它非常難設置與維護,而且性能一般都很糟糕。由於這個原因,微軟建議開發人員使用外鍵限制而不是觸發器來維護引用的完整性。
對一個投入使用的在線事務處理表格有過多索引需要有什麼樣的性能考慮?
你正在尋找進行與數據操控有關的應聘人員。對一個表格的索引越多,資料庫引擎用來更新、插入或者刪除數據所需要的時間就越多,因為在數據操控發生的時候索引也必須要維護。
你可以用什麼來確保表格里的欄位只接受特定范圍里的值?
這個問題可以用多種方式來回答,但是只有一個答案是「好」答案。您希望聽到的回答是Check限制,它在資料庫表格里被定義,用來限制輸入該列的值。
觸發器也可以被用來限制資料庫表格里的欄位能夠接受的值,但是這種辦法要求觸發器在表格里被定義,這可能會在某些情況下影響到性能。因此,微軟建議使用Check限制而不是其他的方式來限制域的完整性。
<b?返回參數和output參數之間的區別是什麼?>如果應聘者能夠正確地回答這個問題,那麼他的機會就非常大了,因為這表明他們具有使用存儲過程的經驗。
返回參數總是由存儲過程返回,它用來表示存儲過程是成功還是失敗。返回參數總是int數據類型。
OUTPUT參數明確要求由開發人員來指定,它可以返回其他類型的數據,例如字元型和數值型的值。(可以用作輸出參數的數據類型是有一些限制的。)您可以在一個存儲過程里使用多個OUTPUT參數,而您只能夠使用一個返回參數。
什麼是相關子查詢?如何使用這些查詢?
經驗更加豐富的開發人員將能夠准確地描述這種類型的查詢。
相關子查詢是一種包含子查詢的特殊類型的查詢。查詢里包含的子查詢會真正請求外部查詢的值,從而形成一個類似於循環的狀況。</b?返回參數和output參數之間的區別是什麼?>

熱點內容
鬼片高清畫質。電影。 發布:2024-08-19 09:14:10 瀏覽:650
一家看電影網 發布:2024-08-19 08:57:54 瀏覽:155
韓國大屍度電影推薦 發布:2024-08-19 08:55:58 瀏覽:719
接吻電影的名字美國 發布:2024-08-19 08:41:41 瀏覽:758
韓劇女主高中就懷孕了劇名 發布:2024-08-19 08:00:29 瀏覽:692
藍色頭發電影女主角 發布:2024-08-19 07:51:59 瀏覽:849
台灣電影老師上了學生 發布:2024-08-19 07:36:20 瀏覽:964
兩人吃屎的電影 發布:2024-08-19 07:25:07 瀏覽:450
有裸露下體的大尺度電影嗎 發布:2024-08-19 07:20:50 瀏覽:790
好看的電影在線觀看免費 發布:2024-08-19 06:55:37 瀏覽:912