某方資料庫
1. SQL語句來判斷資料庫某一列下是否有相同值的記錄方法
SQL語句來判斷資料庫某一列下是否有相同值的記錄方法
有的時候我們可能需要判斷資料庫中,某一欄位(某一列)下是否有相同值的記錄,這時該怎麼辦呢?根據您所使用的資料庫不同,首先你要打開資料庫的查詢窗口,通過SQL語句來創建查詢,然後運行就可以了,具體方法如下:
這里假設資料庫中有一個名為student的表,所要查詢的欄位是name,則判斷student表中name欄位下是否有相同值的記錄的SQL語句為:
1、查詢出資料庫中總的name欄位記錄數的值
SELECT COUNT(name)
FROM student
2、查詢出資料庫中name欄位下唯一的記錄總數(即查詢出不相同的記錄數,如果找到相同的記錄則取其中一條記錄)
SELECT COUNT(name)
FROM student
GROUP BY name
比較上面兩次查詢的結果,如果一樣,則表明student資料庫中的name欄位下並沒有相同值的記錄,如果不一樣,則表明student資料庫中的name欄位下有相同值的記錄。
2. 資料庫是怎麼回事
什麼是資料庫?
資料庫是以某種文件結構存儲的一系列信息表,這種文件結構使您能夠訪問這些表、選擇表中的列、對表進行排序以及根據各種標准選擇行。資料庫通常有多個 索引與這些表中的許多列相關聯,所以我們能盡可能快地訪問這些表。
以員工記錄為例,您可以設想一個含有員工姓名、地址、工資、扣稅以及津貼等內容的表。讓我們考慮一下這些內容可能如何組織在一起。您可以設想一個表包含員工姓名、地址和電話號碼。您希望保存的其它信息可能包括工資、工資范圍、上次加薪時間、下次加薪時間、員工業績評定等內容。
這些內容是否應保存在一個表格中?幾乎可以肯定不應該如此。不同類別的員工的工資范圍可能沒有區別;這樣,您可以僅將員工類型儲存在員工記錄表中,而將工資范圍儲存在另一個表中,通過類型編號與這個表關聯。考慮以下情況:
Key Lastname SalaryType SalaryType Min Max
1 Adams 2 1 30000 45000
2 Johnson 1 2 45000 60000
3 Smyth 3 3 60000 75000
4 Tully 1
5 Wolff 2
SalaryType 列中的數據引用第二個表。我們可以想像出許多種這樣的表,如用於存儲居住城市和每個城市的稅值、健康計劃扣除金額等的表。每個表都有一個主鍵列(如上面兩個表中最左邊的列)和若干數據列。在資料庫中建立表格既是一門藝術,也是一門科學。這些表的結構由它們的範式指出。我們通常說表屬於1NF、2NF 或 3NF。
第一範式:表中的每個表元應該只有一個值(永遠不可能是一個數組)。(1NF)
第二範式:滿足 1NF,並且每一個非主鍵列完全依賴於主鍵列。這表示主鍵和該行中的剩餘表元之間是 1 對 1 的關系。(2NF)
第三範式:滿足 2NF,並且所有非主鍵列是互相獨立的。任何一個數據列中包含的值都不能從其他列的數據計算得到。(3NF)
現在,幾乎所有的資料庫都是基於「第三範式 (3NF)」創建的。這意味著通常都有相當多的表,每個表中的信息列都相對較少。
從資料庫中獲取數據
假設我們希望生成一個包含員工及其工資范圍的表,在我們設計的一個練習中將使用這個表。這個表格不是直接存在在資料庫中,但可以通過向資料庫發出一個查詢來構建它。我們希望得到如下所示的一個表:
Name Min Max
Tully $30,000.00 $45,000.00
Johnson $30,000.00 $45,000.00
Wolff $45,000.00 $60,000.00
Adams $45,000.00 $60,000.00
Smyth $60,000.00 $75,000.00
我們發現,獲得這些表的查詢形式如下所示
SELECT DISTINCTROW Employees.Name, SalaryRanges.Min,
SalaryRanges.Max FROM Employees INNER JOIN SalaryRanges ON Employees.SalaryKey = SalaryRanges.SalaryKey
ORDER BY SalaryRanges.Min;
這種語言稱為結構化查詢語言,即 SQL,而且它是幾乎目前所有資料庫都可以使用的一種語言。SQL-92 標准被認為是一種基礎標准,而且已更新多次。
資料庫的種類
PC 上的資料庫,如 dBase、Borland Paradox、Microsoft Access 和 FoxBase。
資料庫伺服器:IBM DB/2、Microsoft SQL Server、 Oracle、Sybase、SQLBase 和 XDB。
所有這些資料庫產品都支持多種相對類似的 SQL 方言,因此,所有資料庫最初看起來好象可以互換。每種資料庫都有不同的性能特徵,而且每一種都有不同的用戶界面和編程介面。
ODBC
如果我們能夠以某種方式編寫不依賴於特定廠商的資料庫的代碼,並且能夠不改變自己的調用程序即可從這些資料庫中得到相同的結果,那將是一件很好的事。如果我們可以僅為所有這些資料庫編寫一些封裝,使它們具有相似的編程介面,這種對資料庫編程獨立於供應商的特性將很容易實現。
什麼是 JDBC?
JDBC 是對 ODBC API 進行的一種面向對象的封裝和重新設計,它易於學習和使用,並且它真正能夠使您編寫不依賴廠商的代碼,用以查詢和操縱資料庫。盡管它與所有 Java API 一樣,都是面向對象的,但它並不是很高級別的對象集.
除 Microsoft 之外,多數廠商都採用了 JDBC,並為其資料庫提供了 JDBC 驅動程序;這使您可輕松地真正編寫幾乎完全不依賴資料庫的代碼。另外,JavaSoft 和 Intersolv 已開發了一種稱為 JDBC-ODBC Bridge 的產品,可使您連接還沒有直接的 JDBC 驅動程序的資料庫。支持 JDBC 的所有資料庫必須至少可以支持 SQL-92 標准。這在很大程度上實現了跨資料庫和平台的可移植性。
安裝和使用 JDBC
JDBC 的類都被歸到 java.sql 包中,在安裝 Java JDK 1.4時會自動安裝。然而,如果您想使用 JDBC-ODBC 橋。JDBC-ODBC 驅動程序可從 Sun 的 Java 網站 (http://java.sun.com/) 輕松地找到並下載。在您擴充並安裝了這個驅動程序後,必須執行下列步驟:
將 \jdbc-odbc\classes; 路徑添加到您的 PATH 環境變數中。
將 \jdbc-odbc\classes; 路徑添加到您的 CLASSPATH 環境變數中。
JDBC 驅動程序的類型
Java 程序連接資料庫的方法實際上有四種:
1. JDBC-ODBC 橋和 ODBC 驅動程序 -- 在這種方式下,這是一個本地解決方案,因為 ODBC 驅動程序和橋代碼必須出現在用戶的每台機器中。從根本上說這是一個臨時解決方案。
2. 本機代碼和 Java 驅動程序 -- 它用另一個本地解決方案(該平台上的 Java 可調用的本機代碼)取代 ODBC 和 JDBC-ODBC 橋。
3. JDBC 網路的純 Java 驅動程序 -- 由 Java 驅動程序翻譯的 JDBC 形成傳送給伺服器的獨立協議。然後,伺服器可連接任何數量的資料庫。這種方法使您可能從客戶機 Applet 中調用伺服器,並將結果返回到您的 Applet。在這種情況下,中間件軟體提供商可提供伺服器。
4. 本機協議 Java 驅動程序 -- Java 驅動程序直接轉換為該資料庫的協議並進行調用。這種方法也可以通過網路使用,而且可以在 Web 瀏覽器的 Applet 中顯示結果。在這種情況下,每個資料庫廠商將提供驅動程序。
如果您希望編寫代碼來處理 PC 客戶機資料庫,如 dBase、Foxbase 或 Access,則您可能會使用第一種方法,並且擁有用戶機器上的所有代碼。更大的客戶機-伺服器資料庫產品(如 IBM 的 DB2)已提供了第 3 級別的驅動程序。
兩層模型和三層模型
當資料庫和查詢它的應用程序在同一台機器上,而且沒有伺服器代碼的干預時,我們將生成的程序稱為兩層模型。一層是應用程序,而另一層是資料庫。在 JDBC-ODBC 橋系統中通常是這種情況。
當一個應用程序或 applet 調用伺服器,伺服器再去調用資料庫時,我們稱其為三層模型。當您調用稱為「伺服器」的程序時通常是這種情況。
編寫 JDBC 代碼訪問資料庫
用 ODBC 注冊您的資料庫
連接資料庫
所有與資料庫有關的對象和方法都在 java.sql 包中,因此在使用 JDBC 的程序中必須加入 "import java.sql.* "。 JDBC 要連接 ODBC 資料庫,您必須首先載入 JDBC-ODBC 橋驅動程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
該語句載入驅動程序,並創建該類的一個實例。然後,要連接一個特定的資料庫,您必須創建 Connect 類的一個實例,並使用 URL 語法連接資料庫。
String url = "jdbc:odbc:Northwind";
Connection con = DriverManager.getConnection(url);
請注意,您使用的資料庫名是您在 ODBC 設置面板中輸入的「數據源」名稱。
URL 語法可能因資料庫類型的不同而變化極大。
jdbc:subprotocol:subname
第一組字元代表連接協議,並且始終是 jdbc。還可能有一個子協議,在此處,子協議被指定為 odbc。它規定了一類資料庫的連通性機制。如果您要連接其它機器上的資料庫伺服器,可能也要指定該機器和一個子目錄:
jdbc:bark//doggie/elliott
最後,您可能要指定用戶名和口令,作為連接字元串的一部分:
jdbc:bark//doggie/elliot;UID=GoodDog;PWD=woof
訪問MSSQL Server方法:(驅動程序需要:msutil.jar,msbase.jar,mssqlServer.jar)
DBDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver
URL=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo
username=sa
password=
maxcon=10
mincon=1
poolName=SkyDev
利用我們開發的資料庫類,使用方法如下:
DbObject DbO = new DbObject(new SqlServerConnectionFactory("localhost",
1433, "demo", "sa", ""));
Connection con = DbO.getConnection();
//類代碼(不含連接工廠實現)
package skydev.moles.data;
public final class SqlServerConnectionFactory
extends ConnectionFactory {
private final String dbDriver =
"com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String host;
private int port;
private String databaseName;
public SqlServerConnectionFactory() {
super.setDriverName(dbDriver);
}
/**
*
* @param host 資料庫所在的主機名:如"localhost"
* @param port SQL伺服器運行的埠號,如果使用預設值 1433,傳入一個負數即可
* @param databaseName 資料庫名稱
* @param userName 用戶名
* @param password 口令
*/
public SqlServerConnectionFactory(String host,
int port,
String databaseName,
String userName,
String password) {
this.setHost(host);
this.setPort(port);
this.setDatabaseName(databaseName);
this.setUserName(userName);
this.setPassword(password);
init();
}
private void init() {
super.setDriverName(dbDriver);
super.setUrl("jdbc:microsoft:sqlserver://" + host.trim() + ":" +
new Integer(port).toString() + ";DatabaseName=" +
databaseName.trim());
//super.setUrl("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo");
}
……
//------------------------------------------------------------------------------------
訪問MySQL的方法:
DBDriver=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost/demo
username=
password=
maxcon=5
mincon=1
poolName=zhengmao
訪問資料庫
一旦連接到資料庫,就可以請求表名以及表列的名稱和內容等信息,而且您可以運行 SQL 語句來查詢資料庫或者添加或修改其內容。可用來從資料庫中獲取信息的對象有:
DatabaseMetaData 有關整個資料庫的信息:表名、表的索引、資料庫產品的名稱和版本、資料庫支持的操作。
ResultSet 關於某個表的信息或一個查詢的結果。您必須逐行訪問數據行,但是您可以任何順序訪問列。
ResultSetMetaData 有關 ResultSet 中列的名稱和類型的信息。
盡管每個對象都有大量的方法讓您獲得資料庫元素的極為詳細的信息,但在每個對象中都有幾種主要的方法使您可獲得數據的最重要信息。然而,如果您希望看到比此處更多的信息,建議您學習文檔以獲得其餘方法的說明。
ResultSet
ResultSet 對象是 JDBC 中最重要的單個對象。從本質上講,它是對一個一般寬度和未知長度的表的一種抽象。幾乎所有的方法和查詢都將數據作為 ResultSet 返回。ResultSet 包含任意數量的命名列,您可以按名稱訪問這些列。它還包含一個或多個行,您可以按順序自上而下逐一訪問。在您使用 ResultSet 之前,必須查詢它包含多少個列。此信息存儲在 ResultSetMetaData 對象中。
//從元數據中獲得列數
ResultSetMetaData rsmd;
rsmd = results.getMetaData();
numCols = rsmd.getColumnCount();
當您獲得一個 ResultSet 時,它正好指向第一行之前的位置。您可以使用 next() 方法得到其他每一行,當沒有更多行時,該方法會返回 false。由於從資料庫中獲取數據可能會導致錯誤,您必須始終將結果集處理語句包括在一個 try 塊中。
您可以多種形式獲取 ResultSet 中的數據,這取決於每個列中存儲的數據類型。另外,您可以按列序號或列名獲取列的內容。請注意,列序號從 1 開始,而不是從 0 開始。ResultSet 對象的一些最常用方法如下所示。
getInt(int); 將序號為 int 的列的內容作為整數返回。
getInt(String); 將名稱為 String 的列的內容作為整數返回。
getFloat(int); 將序號為 int 的列的內容作為一個 float 型數返回。
getFloat(String); 將名稱為 String 的列的內容作為 float 型數返回。
getDate(int); 將序號為 int 的列的內容作為日期返回。
getDate(String); 將名稱為 String 的列的內容作為日期返回。
next(); 將行指針移到下一行。如果沒有剩餘行,則返回 false。
Close(); 關閉結果集。
getMetaData(); 返回 ResultSetMetaData 對象。
ResultSetMetaData
您使用 getMetaData() 方法從 ResultSet 中獲取 ResultSetMetaData 對象。您可以使用此對象獲得列的數目和類型以及每一列的名稱。
getColumnCount(); 返回 ResultSet 中的列數。
getColumnName(int); 返回列序號為 int 的列名。
getColumnLabel(int); 返回此列暗含的標簽。
isCurrency(int); 如果此列包含帶有貨幣單位的一個數字,則返回 true。
isReadOnly(int); 如果此列為只讀,則返回 true。
isAutoIncrement(int); 如果此列自動遞增,則返回 true。這類列通常為鍵,而且始終是只讀的。
getColumnType(int); 返回此列的 SQL 數據類型。這些數據類型包括
BIGINT
BINARY
BIT
CHAR
DATE
DECIMAL
DOUBLE
FLOAT
INTEGER
LONGVARBINARY
LONGVARCHAR
NULL
NUMERIC
OTHER
REAL
SMALLINT
TIME
TIMESTAMP
TINYINT
VARBINARY
VARCHAR
DatabaseMetaData
DatabaseMetaData 對象可為您提供整個資料庫的信息。您主要用它獲取資料庫中表的名稱,以及表中列的名稱。由於不同的資料庫支持不同的 SQL 變體,因此,也有多種方法查詢資料庫支持哪些 SQL 方法。
getCatalogs() 返回該資料庫中的信息目錄列表。使用 JDBC-ODBC Bridge 驅動程序,您可以獲得用 ODBC 注冊的資料庫列表。這很少用於 JDBC-ODBC 資料庫。
getTables(catalog, schema,tableNames, columnNames) 返回表名與 tableNames 相符而且列名與 columnNames 相符的所有表的說明。
getColumns(catalog, schema,tableNames, columnNames) 返回表名與 tableNames 相符而且列名與 columnNames 相符的所有表列說明。
getURL(); 獲得您所連接的 URL 名稱。
getDriverName(); 獲得您所連接的資料庫驅動程序的名稱。
獲取有關表的信息
您可以使用 DataBaseMetaData 的 getTables() 方法來獲取資料庫中表的信息。這個方法有如下4個 String 參數:
results =dma.getTables(catalog, schema, tablemask, types[]);
其中參數的意義是:
Catalog 要在其中查找表名的目錄名。對於 JDBC-ODBC 資料庫以及許多其他資料庫而言,可將其設置為 null。這些資料庫的目錄項實際上是它在文件系統中的絕對路徑名稱。
Schema 要包括的資料庫「方案」。許多資料庫不支持方案,而對另一些資料庫而言,它代表資料庫所有者的用戶名。一般將它設置為 null。
Tablemask 一個掩碼,用來描述您要檢索的表的名稱。如果您希望檢索所有表名,則將其設為通配符 %。請注意,SQL 中的通配符是 % 符號,而不是一般 PC 用戶的 * 符號。
types[] 這是描述您要檢索的表的類型的 String 數組。資料庫中通常包括許多用於內部處理的表,而對作為用戶的您沒什麼價值。如果它是空值,則您會得到所有這些表。如果您將其設為包含字元串「TABLES」的單元素數組,您將僅獲得對用戶有用的表格。
一個簡單的 JDBC 程序
我們已經學習了 JDBC 的所有基本功能,現在我們可以編寫一個簡單的程序,該程序打開資料庫,列印它的表名以及某一表列的內容,然後對該資料庫執行查詢。此程序如下所示:
package skydevkit;
import java.sql.*;
public class JdbcOdbc_test {
ResultSet results;
ResultSetMetaData rsmd;
DatabaseMetaData dma;
Connection con;
public JdbcOdbc_test() throws SQLException {
String url = "jdbc:odbc:Northwind";
try {
//載入 JDBC-ODBC 橋驅動程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);//連接資料庫
dma = con.getMetaData();//獲取資料庫的元數據
System.out.println("Connected to:" + dma.getURL());
System.out.println("Driver " + dma.getDriverName());
} catch (Exception e) {
System.out.println(e);
}
try {
Statement stmt = con.createStatement();
results = stmt.executeQuery("select * from 客戶;");
ResultSetMetaData resultMetaData = results.getMetaData();
int cols = resultMetaData.getColumnCount();
String resultRow = "";
for (int i = 1; i < cols; i++) {
resultRow += resultMetaData.getColumnName(i) + ";";
}
System.out.println(resultRow);
while (results.next()) {
resultRow = "";
for (int i = 1; i < cols; i++) {
try {
resultRow += results.getString(i) + ";";
} catch (NullPointerException e) {
System.out.println(e.getMessage());
}
}
System.out.println(resultRow);
}
} catch (Exception e) {
System.out.println("query exception");
} finally {
results.close();
}
}
}
補充高級內容
關於調用SQLServer存儲過程的例子:(用到了我們開發的資料庫連接類)
CREATE PROCEDURE [dbo].[sp_getStudentByName](@name char(10))
AS
Select * from Students where [Name]=@name
GO
DbObject DbO = new DbObject(new SqlServerConnectionFactory("localhost",
1433, "demo", "sa", ""));
Connection con = DbO.getConnection();
CallableStatement pstmt = null;
System.out.println("TestDB1()............");
/* try {
pstmt = con.prepareCall("{call sp_getStudentById(?)}");
pstmt.setInt(1, 1);
}*/
try {
pstmt = con.prepareCall("{call sp_getStudentByName(?)}"); //注意參數如何傳遞
pstmt.setString(1, "Tom");
}
……
使用輸出參數:
CREATE PROCEDURE [dbo].[sp_insertStudent](@name char(10),@age int,@id int OUTPUT) AS
insert into Students([Name],[Age]) values (@name,@age)
select @id=@@IDENTITY
GO
try {
pstmt = con.prepareCall("{call sp_insertStudent(?,?,?)}");
pstmt.setString(1, "zengqingsong");
pstmt.setInt(2, 22);
pstmt.registerOutParameter(3, Types.INTEGER);
pstmt.executeUpdate();
int id = pstmt.getInt(3);
System.out.println(id);
}
使用返回參數的例子:
CREATE PROCEDURE [dbo].[sp_insertStudent](@name char(10),@age int,@id int OUTPUT) AS
insert into Students([Name],[Age]) values (@name,@age)
select @id=@@IDENTITY –測試輸出參數
return 30 –測試返回30
GO
try {
pstmt = con.prepareCall("{?=call sp_insertStudent(?,?,?)}");
pstmt.setString(2, "zengqingsong");
pstmt.setInt(3, 22);
pstmt.registerOutParameter(4, Types.INTEGER);
pstmt.registerOutParameter(1, Types.INTEGER);
int ret = pstmt.executeUpdate(); //執行影響的行數
int ret2 = pstmt.getInt(1); //返回參數(輸出參數)
int id = pstmt.getInt(4); //輸出參數
System.out.println(ret);
System.out.println(ret2);
System.out.println(id);
3. 關於萬方資料庫的一個問題
幾種不同減肥方法及其效果評價
【論文題名】 幾種不同減肥方法及其效果評價
【英文題名】 Evaluation of several ways for weight loss
【作 者】 彭莉
【作者單位】 西南師范大學體育學院,重慶 400715;Institnte of Physical Ecation,West- South China Normal University, Chongqing 400715,China;
【刊 名】 體育學刊
【英文刊名】 JOURNAL OF PHYSICAL EDUCATION
【年 卷 期】 2001 Vol.8 No.02
【關 鍵 詞】 減肥;效果;行為矯正
【摘 要】 有氧運動、飲食節制、葯物療法、行為矯正法是目前常用的幾種減肥方法,其減肥作用各有優劣。文章綜述了以上幾種不同減肥方法的內容與效果,認為行為矯正療法才是長期有效的綜合性減肥方法。
【英文摘要】 The main way of weight loss is diet control, exercise, drug administration and behavior modification. And each way has its different content and effect. This paper summarized different content and effect of these several ways of weight loss.
與就是..兩個關鍵詞加在一起..或就是或者 是 就是是.非就是不是的意思..
你搜索可以在作者名字里寫上..然後與.全文.減肥..這樣就可以了幾種不同減肥方法及其效果評價
彭 莉
(西南師范大學體育學院.重慶400715)
摘要:有氧運動、飲食節制、葯物療法、行為矯正法是目前常用的幾種減肥方法,其減肥作用各有優劣。
文章蛛迷了以上幾種不同減肥方法的內容與效果,認為行為嬌正療法才是長期有效的晾合性減肥方法。
關健詞:減肥;效果;行為嬌正
中圈分類號:R161.1;G806 文獻標識碼:A 文章編號:1006一7116(2001)02- 004一02
Ev alu ati on o f se ver al w a ys fo r w e吵 t lm
PE N G li
(Ils tit nte d P h 州 司 Ecation,W .『一SO(汕ChinaN arnalU niversity,fl gngqing4 00715,Ch ine)
Ahehaet擴血, ,.,了weight儷ie翻conuol,~ ,drug adminishs&m耐behavior modification. And each
way has its diferent content and efect, Tim paper summarized面erem corneal and afect d these several ways of weigh
loee.
Keyw orth:we 4#ntlo sa;efect;beba} modification
肥胖 是 相 對於痰體重而言,脂肪在體內過多的堆積的現
象。[0專家們認為,肥胖是一種常見的、明顯、復雜的代謝失
調症;是一種可以影響整個機體正常功能的生理過程。[21近
年來,隨著我國物質生活水平的提高,肥胖者有不斷增加的
趨勢。肥胖者常伴有心血管疾病、膽盆病、社會心理間題及
某些痛症(如子宮內膜廟、乳腺店)等,已成為危害人類健康
的重要問題[3]因此,如何避免肥胖以及如何減體脂就成為
人們關注的社會問題選擇一種適合的減肥方法不僅僅意昧
著體形的健美,也意味著生活質量的提高。本文綜述了目前
常用的幾種減肥方法,並對其效果進行了分析評價。
1 運動減肥
肥胖 發 生 的根本原因在於熱最的攝人和消耗之間不平
衡,過剩的能量以脂肪的形式儲存起來。[41研究表明,肥胖者
的身體活動比正常體重者少,即體重指數(B犯)與身體活動
之間呈逆向的關系。而且,從社會總體趨勢看來,肥胖流行
的增加是與身體活動減少和久坐行為增加的變化相一致的。
運動可以通過增加能量消耗而減少體內脂肪的積蓄。[5]
1.1運動減足的作用
(1) 運動 可 以改善脂肪代謝紊亂。1161加快脂肪代謝,限
制脂肪積累。運動還可抑制過度進食引起的脂肪細胞數量
升高,並減少脂細胞體積的增加。(2)運動會提高安靜時代
謝率(RMR)o RMR所消耗的能量占總能量消耗量的60%-
70%. (3)運動會改變肥胖者與能量代謝調節有關的激素水
平,如能提高對胰島素的敏感性等少.ho,hs,aol
1.2 減體,的運動方式
運動 的 總 能耗Ilt取決於運動的特點(方式、強度、持續時
間、頻度)和參與者的個休特點(休形和健康水平)。對於減
肥來說,運動的量比運動的強度更有意義。應採用大肌肉群
參加的、有節奏的運動方式如跑步、走、游泳、轉車等,從較低
運動強度開始(50% V02mmc,60%最大心率),隨個體對運動
的適應逐漸增加強度,每次運動持續時間30一60 min,每周
至少運動3次。i51
13 運動城肥的評價
運動 減 肥 的效果是肯定的,而且在休重降低的同時保持
痰休重不變,甚至皮體重增加,使身休成分發生了良好的變
化,這是運動減肥優於其它減肥手段的地方。即使不減輕體
重,運動也會減少肥胖並發症,可以改善心血管、呼吸及消化
系統的功能,有人認為這比減肥更重要。[71但運動減肥見效
慢,還存在個體間敏感性差異,而且停止運動後體重會反
彈。閉而且有文章認為,低強度的運動對硬旋脂肪的沉積是
極為危險的。[is]
2 飲R節製法減體皿
2.1 方法
飲食 控 制 主要是限制肥胖者飲食所提供的熱量(關鍵是
限制鍺和脂肪的攝人盈),同時供給充足的各種營養t如各
種必需氮驀膠、維生素、礦物質等,使肥胖者拓人能盆小於消
收稿日期二2000-10-27
作貴簡介:彭莉(1971一),女,重慶市人,講師,從事運動生理學研究。
、1 陌
萬方數據
第2期彭莉:幾種不同減肥方法及其效果評價45
耗能量,從而達到減體重的目的。現有的資料,各學者所使
用的飲食方案不一。總的來說,減肥食譜應為高蛋白、低脂
肪、低鍺的膳食,同時保證各種營養素齊全。尤其應注意足
量蛋白質的供給,以最大限度減少瘦體重的丟失。G7[s]
22 效果及評價
飲食 控 制 法在短期內可使體重減輕,效果顯著。但體重
減輕的同時瘦體重也下降,有報導單純飲食控製法減肥皮體
重下降了36%。而且節制飲食會造成RMR的下降,這種減
肥的效果可能會因為人體RMR降低而被抵消。單純飲食療
法還會伴有一系列的副作用,如營養不良、免疫力下降以及
膽結石等。因此,單純飲食控制減體重不宜長期應用(尤其
肥胖兒童,正處於生長發育期,不能對它們進行嚴格的飲食
控制),執行期間應有嚴格的醫務監督。[9.11.12,191
3 葯物療法減體重[1][4][91
(1) 食 欲 抑制劑:主要通過於擾下丘腦食慾中樞而降低
食慾,減少食物攝人,從而達到減輕體重的目的。食慾抑制
劑主要包括:(1)擬兒茶酚胺類葯物,如Teouale,Mazindol等。
這類葯物短期內減肥效果較好,且副作用輕徽,但停止服葯
一段時間後,體重又逐漸上升到原來水平。(2)擬5一經色
胺類葯物,如feldluram ,flu-b- 等,能降低攝食等生理活動
水平,有興奮飽食中樞的作用,減肥效果良好且劇作用小,但
長期效果不一定。
(2) 促 進 代謝的葯物:如甲狀腺素、生長素、咖啡因等,還
包括一些刺激棕色脂肪組織(RAT)的生熱葯物,如擬p一腎
上腺家能葯物。
(3) 影 響 消化吸收的葯物:如消化醛抑制劑和一些輕瀉
劑。
總的 來 說 ,葯物減肥有其它療法不可替代的作用,但葯
物都有一定的副作用,長期使用會擾亂人體正常的代謝功
能,因此不宜長期應用。
4行為矯正療法減體孟18,13,14,171
行為 矯 正 療法是源於19世紀心理學領域的精神療法。
20世紀60年代,FeNtec首次用行為療法抬療肥胖者的過食
行為,之後行為矯正這一技術不斷完善。行為矯正治療要求
改變肥胖者原來的飲食、運動以及生活習慣,使其能量處於
負平衡狀態,從而達到控制體重的目的。
4.1 內容
行為 療 法 已演變成了「飲食控制+運動+行為』矯正的
綜合療法,內容大致包括:(1)堅持營養訓練及負平衡飲食,
如改變進食方式、自我控制飲食等;(2)多做運動或增加日常
生活活動量;(3)認識的調整,應認識到減肥是一個長期的過
程,朝健康有益的生活方式邁進為首要目標,其次才是體重
的下降,應了解有關飲食、營養、運動等方面的知識,對治療
充滿信心;(4)自我監督,即自我監督方案執行情況,兒童可
由家長協助監督;(5)正性刺激或懲罰,根據行為矯正情況及
肥胖度的變化,給予適當的鼓勵或懲罰;(6)調整:當未達到
預期效果或目標行為時,可採取改變刺激方式、延長怡療周
期、修訂治療方案等手段,以盡可能達到預期效果。
屯2 效.及評價
在肥 胖 兒 童治療中發現,行為矯正療法的效果是比較滿
意的。此法降體重沮和持續,效果穩定,而且有助於養成健
康、科學、有益的生活習慣。從根本上說,這才是最重要的。
5 小結
運動 減 體 重的作用是肯定的,但見效慢,且有個體敏感
性的差異;飲食控制和葯物減體脂省力、見效快,但有副作
用,且易反彈。鑒於肥胖是多因素引起的綜合征,採用綜合
性的方法來減肥才最合理。行為矯正療法將飲食調整和運
動處方等落實到了建立健康、科學的生活方式上來,效果更
持久,也才能從根本上消除致肥的危險因素。
參考文獻:
[1]楊拐讓.實用運動生理學〔M].北京:北京體育大學出版
社,19S抖.
[2]何玉秀.肥胖病因學的分子生物學研究進展「i7.天津
體育學院學報,1999,14(1):7一9.
[3]李裕和.肥脾基因結構及作用機制[J].廣州體育學院
學報,1998,18(4):60一61.
[4〕王從容,姜玉玲.運動減體脂?葯物減體脂?[d].天津
體育學院學報,1999,14(1):15一17.
[5]趙哭,張勇.肥胖與脂代謝紊亂及這動對其的影響[1]
天津體育學院學報,1999,140):18一20.
【6〕何玉秀.系能這動減肥過程中血旋島素水平的改變[J].
體育科學,1998,18(3):75一79.
[7]彭向峰.兒童單純性肥胖應及其運動療法的研究進展
[J].北京體育師范學M'*a,1998,10(1):28一36.
[8l孫莉胡,康玉華.當前美國對減肥問題的研究和展望[J]
.北京體育師范學院學報,1997,9(4):31一33.
[9」立麗梅.對日本中小學生身體成分與肥砰研究的J*述
[J7.體育科學,1994,14(4):60一63.
[10〕何3a秀.這動對岌邢脂肪積東和肥脾基因表達的影響
[J].體育科學,1998,18(4):。一72
〔川閻智力.運動與減肥健身[J].體育科學,1998,18(3):
90一92.
[12〕葉超群.飲食控制、運動付肥胖者免疫形響的研究進
展[J].北京體育師范學st學報,1997,9(3):82 - 85.
[13〕丁宗一.兒童單純肥胖戒現狀、趨勢及防治對策【Jl .
天津體育學隴學報,1999,14(1):12一14.
[141蔣競雄.行為療法在肥胖兒童中的應用【Jl.中國心理
Y-生雜志,1997(8):252一254.
〔巧〕王從容.封力訓練對飲食性肥脾大民的形響Dl,中國
運動醫學雜志,1998,17(1):18一19
[16」張勇.單純性肥辭症脂質代謝紊亂的運動防治一工有
氧這動對飲食誘導單純性肥胖大及蛋白質代謝的影響[Jl.
中國這動醫學雜志,1998,17(2):117一120.
[17]熊靜宇.單純性兒童肥胖症出現率升高的成因及干預
對策【J].北京體育師范學1%學報,1999,11(4):90-92.
[1s]陸一帆.中國離拉制肥胖還遙遠鳴【習.天津體育學院
學報,1999,14(1):5一6.
[197葉超群.飲食控制、運動對肥脾者免建影響的研究進
展【17中國運動醫學雜志,1999,18(1):51- 53.
[20]林丈搜這動生物化學工Ml.北京:人民體育出版社,
1999
「編 輯 :李 壽 榮 ]
都給你找出來了..夠負責了吧..呵呵...
4. 以下java的題,一個是資料庫方面另一個是邏輯題,麻煩大神幫忙寫下答案,謝謝
//數字順序沒有要求
public static void main(String[] args) {
String s2="";
HashMap<String,Integer > map = new HashMap<String, Integer>();
map.put( "zero" , 0 );
map.put( "one" , 1 );
map.put( "two" , 2 );
map.put( "three", 3 );
map.put( "four" , 4 );
map.put( "five" , 5 );
map.put( "six" , 6 );
map.put( "seven", 7 );
map.put( "eight", 8 );
map.put( "nine" , 9 );
Scanner sc = new Scanner(System.in);
String sn = sc.next();
Set<String> set = map.keySet();
for (String s3 : set) {
while(sn.contains(s3)){
int sum=sn.length();
int sum2=0;
sn = sn.replace(s3, "");
System.out.println();
sum2=(sum-sn.length())/s3.length();
for (int i = 0; i < sum2; i++) {
s2+=map.get(s3);
}
}
}
System.out.println(s2);
}
5. oracle怎樣查詢某個資料庫中某個方案下的某個表
用.分隔
比如你以用戶abc登陸,要查詢用戶sys的表abc,可以
select
*
from
sys.abc
前提是許可權允許,即sys用戶的表abc允許用戶abc查詢
6. 如何查找資料庫中某一欄位值
1.查詢資料庫中的所有資料庫名:
SELECT Name FROM Master..SysDatabases ORDER BY Name
2.查詢某個資料庫中所有的表名:
SELECT Name FROM SysObjects Where XType='U' ORDER BY Name
3.查詢表結構信息:
1 SELECT (case when a.colorder=1 then d.name else null end) 表名,
2 a.colorder 欄位序號,a.name 欄位名,
3 (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 標識,
4 (case when (SELECT count(*) FROM sysobjects
5 WHERE (name in (SELECT name FROM sysindexes
6 WHERE (id = a.id) AND (indid in
7 (SELECT indid FROM sysindexkeys
8 WHERE (id = a.id) AND (colid in
9 (SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name)))))))
10 AND (xtype = 'PK'))>0 then '√' else '' end) 主鍵,b.name 類型,a.length 佔用位元組數,
11 COLUMNPROPERTY(a.id,a.name,'PRECISION') as 長度,
12 isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小數位數,(case when a.isnullable=1 then '√'else '' end) 允許空,
13 isnull(e.text,'') 默認值,isnull(g.[value], ' ') AS [說明]
14 FROM syscolumns a
15 left join systypes b on a.xtype=b.xusertype
16 inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
17 left join syscomments e on a.cdefault=e.id
18 left join sys.extended_properties g on a.id=g.major_id AND a.colid=g.minor_id
19 left join sys.extended_properties f on d.id=f.class and f.minor_id=0
20 where b.name is not null
21 --WHERE d.name='要查詢的表' --如果只查詢指定表,加上此條件
22 order by a.id,a.colorder
7. 關系資料庫中資料庫,表,欄位及元組的概念及相互之間的關系
一、概念
(1)關系資料庫的表採用二維表格來存儲數據,是一種按行與列排列的具有相關信息的邏輯組,它類似於Excle工作表。一個資料庫可以包含任意多個數據表。
(2)關系資料庫:在一個給定的應用領域中,所有實體及實體之間聯系的集合構成一個關系資料庫。它是一種以關系模式為基礎存儲數據以及用數字方法處理資料庫組織的方法,是目前最為流行的一種數據組織形式。
(3)元組(記錄)。表中的一行即為一個元組,或稱為一條記錄。
(4)欄位,數據表中的每一列稱為一個欄位,表是由其包含的各種欄位定義的,每個欄位描述了它所含有的數據的意義,數據表的設計實際上就是對欄位的設計。創建數據表時,為每個欄位分配一個數據類型,定義它們的數據長度和其他屬性。欄位可以包含各種字元、數字、甚至圖形。
二、關系
一個資料庫可以包含若干張表;一張表有若干個欄位;每張表又有若干條記錄(元組),每條記錄(元組)對應每個欄位都有一個值。
(7)某方資料庫擴展閱讀
關系資料庫,是建立在關系資料庫模型基礎上的資料庫,藉助於集合代數等概念和方法來處理資料庫中的數據。
同時也是一個被組織成一組擁有正式描述性的表格,該形式的表格作用的實質是裝載著數據項的特殊收集體,這些表格中的數據能以許多不同的方式被存取或重新召集而不需要重新組織資料庫表格。
關系資料庫的定義造成元數據的一張表格或造成表格、列、范圍和約束的正式描述。每個表格(有時被稱為一個關系)包含用列表示的一個或更多的數據種類。 每行包含一個唯一的數據實體,這些數據是被列定義的種類。
8. 問一個文獻檢索的問題,想使用別學校圖書館的某一資料庫的方法有哪些可以實現
樓上的說的是對的。
我是用我們學校網上圖書館等工具,就要下載一個VPN,然後用我的學生用戶名和密碼登陸,才能使用網上圖書館等資源。
你是要什麼資料呢?如果我這邊有的話,可以找一些給你。
ps.資料都是英文的。